[INFO] fetching crate candid_parser 0.3.2...
[INFO] fixing candid_parser-0.3.2 against try#622891a4e29178280638a6b63a8908bde2c0c854+cargoflags=-Zfix-edition=end=2015,2024 for pr-157817-2
[INFO] extracting crate candid_parser 0.3.2 into /workspace/builds/worker-7-tc2/source
[INFO] started tweaking crates.io crate candid_parser 0.3.2
[INFO] finished tweaking crates.io crate candid_parser 0.3.2
[INFO] tweaked toml for crates.io crate candid_parser 0.3.2 written to /workspace/builds/worker-7-tc2/source/Cargo.toml
[INFO] validating manifest of crates.io crate candid_parser 0.3.2 on toolchain 622891a4e29178280638a6b63a8908bde2c0c854
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate crates.io crate candid_parser 0.3.2 already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/source:/opt/rustwide/workdir:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:3a6becf2bc8dde7f3fa57ede90e4f284e72d296796fc446bbb1e2c7cc0530151" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] a9c92f60744618a82fd812157c07c0b4de991c544e91b93e429523dd74bb565a
[INFO] running `Command { std: "docker" "start" "a9c92f60744618a82fd812157c07c0b4de991c544e91b93e429523dd74bb565a", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "a9c92f60744618a82fd812157c07c0b4de991c544e91b93e429523dd74bb565a" "/opt/rustwide/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "a9c92f60744618a82fd812157c07c0b4de991c544e91b93e429523dd74bb565a", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=" "-e" "RUSTDOCFLAGS=" "-w" "/opt/rustwide/workdir" "--user" "0:0" "a9c92f60744618a82fd812157c07c0b4de991c544e91b93e429523dd74bb565a" "/opt/rustwide/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "fix" "--allow-no-vcs" "--allow-dirty" "--frozen" "--all" "--all-targets" "--message-format=json" "-Zfix-edition=end=2015,2024", kill_on_drop: false }`
[INFO] [stderr] crater-edition-check: migrating to next edition
[INFO] [stderr]    Migrating Cargo.toml from 2021 edition to 2024
[INFO] [stderr]    Compiling libc v0.2.155
[INFO] [stderr]    Compiling serde_core v1.0.224
[INFO] [stderr]    Compiling memchr v2.7.4
[INFO] [stderr]    Compiling serde v1.0.224
[INFO] [stderr]    Compiling regex-syntax v0.8.4
[INFO] [stderr]    Compiling typenum v1.17.0
[INFO] [stderr]    Compiling generic-array v0.14.7
[INFO] [stderr]    Compiling syn v2.0.87
[INFO] [stderr]    Compiling either v1.13.0
[INFO] [stderr]    Compiling cc v1.1.7
[INFO] [stderr]    Compiling aho-corasick v1.1.3
[INFO] [stderr]    Compiling dirs-sys-next v0.1.2
[INFO] [stderr]    Compiling parking_lot_core v0.9.10
[INFO] [stderr]    Compiling lock_api v0.4.12
[INFO] [stderr]    Compiling smallvec v1.13.2
[INFO] [stderr]    Compiling crunchy v0.2.2
[INFO] [stderr]    Compiling dirs-next v2.0.0
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling tiny-keccak v2.0.2
[INFO] [stderr]    Compiling syn v1.0.109
[INFO] [stderr]    Compiling hashbrown v0.14.5
[INFO] [stderr]    Compiling equivalent v1.0.1
[INFO] [stderr]    Compiling ucd-trie v0.1.6
[INFO] [stderr]    Compiling phf_shared v0.10.0
[INFO] [stderr]     Checking crypto-common v0.1.6
[INFO] [stderr]     Checking block-buffer v0.10.4
[INFO] [stderr]    Compiling term v0.7.0
[INFO] [stderr]    Compiling psm v0.1.21
[INFO] [stderr]    Compiling parking_lot v0.12.3
[INFO] [stderr]     Checking unicode-segmentation v1.11.0
[INFO] [stderr]    Compiling regex-automata v0.4.7
[INFO] [stderr]    Compiling indexmap v2.2.6
[INFO] [stderr]    Compiling precomputed-hash v0.1.1
[INFO] [stderr]    Compiling fixedbitset v0.4.2
[INFO] [stderr]    Compiling bit-vec v0.6.3
[INFO] [stderr]    Compiling log v0.4.22
[INFO] [stderr]    Compiling proc-macro2 v0.4.30
[INFO] [stderr]    Compiling new_debug_unreachable v1.0.6
[INFO] [stderr]    Compiling ena v0.14.3
[INFO] [stderr]    Compiling string_cache v0.8.7
[INFO] [stderr]    Compiling bit-set v0.5.3
[INFO] [stderr]    Compiling ascii-canvas v3.0.0
[INFO] [stderr]     Checking digest v0.10.7
[INFO] [stderr]    Compiling petgraph v0.6.5
[INFO] [stderr]    Compiling stacker v0.1.15
[INFO] [stderr]    Compiling itertools v0.11.0
[INFO] [stderr]    Compiling beef v0.5.2
[INFO] [stderr]     Checking unicode-width v0.1.13
[INFO] [stderr]    Compiling unicode-xid v0.1.0
[INFO] [stderr]    Compiling serde_json v1.0.149
[INFO] [stderr]     Checking cpufeatures v0.2.12
[INFO] [stderr]    Compiling rustix v0.38.34
[INFO] [stderr]    Compiling unicode-xid v0.2.4
[INFO] [stderr]    Compiling anyhow v1.0.86
[INFO] [stderr]    Compiling pico-args v0.5.0
[INFO] [stderr]     Checking num-integer v0.1.46
[INFO] [stderr]     Checking sha2 v0.10.8
[INFO] [stderr]    Compiling logos-codegen v0.14.0
[INFO] [stderr]    Compiling thiserror-impl v1.0.63
[INFO] [stderr]    Compiling serde_derive v1.0.224
[INFO] [stderr]    Compiling regex v1.10.5
[INFO] [stderr]    Compiling lalrpop-util v0.20.2
[INFO] [stderr]     Checking getrandom v0.2.15
[INFO] [stderr]    Compiling syn v0.15.44
[INFO] [stderr]     Checking bitflags v2.6.0
[INFO] [stderr]    Compiling lalrpop v0.20.2
[INFO] [stderr]     Checking itoa v1.0.11
[INFO] [stderr]     Checking linux-raw-sys v0.4.14
[INFO] [stderr]     Checking data-encoding v2.6.0
[INFO] [stderr]    Compiling thiserror v1.0.63
[INFO] [stderr]    Compiling pest v2.7.11
[INFO] [stderr]     Checking typed-arena v2.0.2
[INFO] [stderr]     Checking winnow v0.6.16
[INFO] [stderr]     Checking arbitrary v1.3.2
[INFO] [stderr]     Checking arrayvec v0.5.2
[INFO] [stderr]    Compiling logos-derive v0.14.0
[INFO] [stderr]     Checking pretty v0.12.3
[INFO] [stderr]    Compiling pest_meta v2.7.11
[INFO] [stderr]     Checking rand_core v0.6.4
[INFO] [stderr]    Compiling quote v0.6.13
[INFO] [stderr]    Compiling candid_derive v0.10.28
[INFO] [stderr]     Checking similar v2.6.0
[INFO] [stderr]     Checking console v0.15.8
[INFO] [stderr]     Checking hex v0.4.3
[INFO] [stderr]     Checking leb128 v0.2.5
[INFO] [stderr]     Checking fastrand v2.1.0
[INFO] [stderr]     Checking ppv-lite86 v0.2.17
[INFO] [stderr]    Compiling pest_generator v2.7.11
[INFO] [stderr]     Checking codespan-reporting v0.11.1
[INFO] [stderr]    Compiling binread_derive v2.1.0
[INFO] [stderr]     Checking rand_chacha v0.3.1
[INFO] [stderr]     Checking tempfile v3.10.1
[INFO] [stderr]     Checking similar-asserts v1.5.0
[INFO] [stderr]     Checking logos v0.14.0
[INFO] [stderr]     Checking convert_case v0.6.0
[INFO] [stderr]     Checking serde_spanned v0.6.7
[INFO] [stderr]     Checking toml_datetime v0.6.7
[INFO] [stderr]     Checking num-bigint v0.4.6
[INFO] [stderr]     Checking serde_bytes v0.11.15
[INFO] [stderr]     Checking toml_edit v0.22.17
[INFO] [stderr]     Checking ic_principal v0.1.1
[INFO] [stderr]     Checking scopeguard v1.2.0
[INFO] [stderr]     Checking yansi v1.0.1
[INFO] [stderr]    Compiling glob v0.3.1
[INFO] [stderr]    Compiling pest_derive v2.7.11
[INFO] [stderr]     Checking goldenfile v1.7.1
[INFO] [stderr]     Checking rand v0.8.5
[INFO] [stderr]     Checking handlebars v6.0.0
[INFO] [stderr]     Checking binread v2.2.0
[INFO] [stderr]     Checking toml v0.8.16
[INFO] [stderr]     Checking candid v0.10.28
[INFO] [stderr]    Compiling test-generator v0.3.1
[INFO] [stderr]    Compiling candid_parser v0.3.2 (/opt/rustwide/workdir)
[INFO] [stderr]    Migrating build.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating src/lib.rs from 2021 edition to 2024
[INFO] [stderr] error: errors present after applying fixes to crate `candid_parser`
[INFO] [stderr]  --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lalrpop-util-0.20.2/src/lib.rs
[INFO] [stderr]  ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/logos-0.14.0/src/lexer.rs
[INFO] [stderr]  ::: /opt/rustwide/target/debug/build/candid_parser-451a6ef65a285c38/out/grammar.rs
[INFO] [stderr]  ::: src/error.rs
[INFO] [stderr]  ::: src/lib.rs
[INFO] [stderr]  ::: src/syntax/mod.rs
[INFO] [stderr]  ::: src/test.rs
[INFO] [stderr]  ::: src/token.rs
[INFO] [stderr]   = cause: error: expected one of `(`, `,`, `::`, or `=`, found `+`
[INFO] [stderr]             --> src/token.rs:8:16
[INFO] [stderr]              |
[INFO] [stderr]            8 | #[derive(Logos + use<'s>, Debug, Clone, PartialEq, Eq, Ord, PartialOrd)]
[INFO] [stderr]              |                ^ expected one of `(`, `,`, `::`, or `=`
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `logos` in this scope
[INFO] [stderr]              --> src/token.rs:9:3
[INFO] [stderr]               |
[INFO] [stderr]             9 | #[logos(skip r"[ \t\r\n]+")]
[INFO] [stderr]               |   ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]               = note: `logos` is in scope, but it is a crate, not an attribute
[INFO] [stderr]            help: `logos` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]            10 + #[derive(Logos)]
[INFO] [stderr]            11 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `regex` in this scope
[INFO] [stderr]              --> src/token.rs:11:7
[INFO] [stderr]               |
[INFO] [stderr]            11 |     #[regex(r"//[^\n]*")] // must start with `LINE_COMMENT_PREFIX`
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `regex` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]            10 + #[derive(Logos)]
[INFO] [stderr]            11 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> src/token.rs:13:7
[INFO] [stderr]               |
[INFO] [stderr]            13 |     #[token("/*")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]            10 + #[derive(Logos)]
[INFO] [stderr]            11 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> src/token.rs:15:7
[INFO] [stderr]               |
[INFO] [stderr]            15 |     #[token("=")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]            10 + #[derive(Logos)]
[INFO] [stderr]            11 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> src/token.rs:17:7
[INFO] [stderr]               |
[INFO] [stderr]            17 |     #[token("(")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]            10 + #[derive(Logos)]
[INFO] [stderr]            11 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> src/token.rs:19:7
[INFO] [stderr]               |
[INFO] [stderr]            19 |     #[token(")")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]            10 + #[derive(Logos)]
[INFO] [stderr]            11 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> src/token.rs:21:7
[INFO] [stderr]               |
[INFO] [stderr]            21 |     #[token("{")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]            10 + #[derive(Logos)]
[INFO] [stderr]            11 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> src/token.rs:23:7
[INFO] [stderr]               |
[INFO] [stderr]            23 |     #[token("}")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]            10 + #[derive(Logos)]
[INFO] [stderr]            11 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> src/token.rs:25:7
[INFO] [stderr]               |
[INFO] [stderr]            25 |     #[token(";")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]            10 + #[derive(Logos)]
[INFO] [stderr]            11 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> src/token.rs:27:7
[INFO] [stderr]               |
[INFO] [stderr]            27 |     #[token(",")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]            10 + #[derive(Logos)]
[INFO] [stderr]            11 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> src/token.rs:29:7
[INFO] [stderr]               |
[INFO] [stderr]            29 |     #[token(".", priority = 10)]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]            10 + #[derive(Logos)]
[INFO] [stderr]            11 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> src/token.rs:31:7
[INFO] [stderr]               |
[INFO] [stderr]            31 |     #[token(":")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]            10 + #[derive(Logos)]
[INFO] [stderr]            11 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> src/token.rs:33:7
[INFO] [stderr]               |
[INFO] [stderr]            33 |     #[token("->")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]            10 + #[derive(Logos)]
[INFO] [stderr]            11 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> src/token.rs:35:7
[INFO] [stderr]               |
[INFO] [stderr]            35 |     #[token("null")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]            10 + #[derive(Logos)]
[INFO] [stderr]            11 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> src/token.rs:37:7
[INFO] [stderr]               |
[INFO] [stderr]            37 |     #[token("vec")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]            10 + #[derive(Logos)]
[INFO] [stderr]            11 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> src/token.rs:39:7
[INFO] [stderr]               |
[INFO] [stderr]            39 |     #[token("record")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]            10 + #[derive(Logos)]
[INFO] [stderr]            11 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> src/token.rs:41:7
[INFO] [stderr]               |
[INFO] [stderr]            41 |     #[token("variant")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]            10 + #[derive(Logos)]
[INFO] [stderr]            11 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> src/token.rs:43:7
[INFO] [stderr]               |
[INFO] [stderr]            43 |     #[token("func")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]            10 + #[derive(Logos)]
[INFO] [stderr]            11 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> src/token.rs:45:7
[INFO] [stderr]               |
[INFO] [stderr]            45 |     #[token("service")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]            10 + #[derive(Logos)]
[INFO] [stderr]            11 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> src/token.rs:47:7
[INFO] [stderr]               |
[INFO] [stderr]            47 |     #[token("oneway")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]            10 + #[derive(Logos)]
[INFO] [stderr]            11 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> src/token.rs:49:7
[INFO] [stderr]               |
[INFO] [stderr]            49 |     #[token("query")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]            10 + #[derive(Logos)]
[INFO] [stderr]            11 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> src/token.rs:51:7
[INFO] [stderr]               |
[INFO] [stderr]            51 |     #[token("composite_query")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]            10 + #[derive(Logos)]
[INFO] [stderr]            11 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> src/token.rs:53:7
[INFO] [stderr]               |
[INFO] [stderr]            53 |     #[token("blob")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]            10 + #[derive(Logos)]
[INFO] [stderr]            11 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> src/token.rs:55:7
[INFO] [stderr]               |
[INFO] [stderr]            55 |     #[token("type")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]            10 + #[derive(Logos)]
[INFO] [stderr]            11 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> src/token.rs:57:7
[INFO] [stderr]               |
[INFO] [stderr]            57 |     #[token("import")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]            10 + #[derive(Logos)]
[INFO] [stderr]            11 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> src/token.rs:59:7
[INFO] [stderr]               |
[INFO] [stderr]            59 |     #[token("opt")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]            10 + #[derive(Logos)]
[INFO] [stderr]            11 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> src/token.rs:61:7
[INFO] [stderr]               |
[INFO] [stderr]            61 |     #[token("==")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]            10 + #[derive(Logos)]
[INFO] [stderr]            11 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> src/token.rs:63:7
[INFO] [stderr]               |
[INFO] [stderr]            63 |     #[token("!=")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]            10 + #[derive(Logos)]
[INFO] [stderr]            11 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> src/token.rs:65:7
[INFO] [stderr]               |
[INFO] [stderr]            65 |     #[token("!:")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]            10 + #[derive(Logos)]
[INFO] [stderr]            11 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> src/token.rs:67:7
[INFO] [stderr]               |
[INFO] [stderr]            67 |     #[token("principal")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]            10 + #[derive(Logos)]
[INFO] [stderr]            11 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `regex` in this scope
[INFO] [stderr]              --> src/token.rs:69:7
[INFO] [stderr]               |
[INFO] [stderr]            69 |     #[regex("[a-zA-Z_][a-zA-Z0-9_]*", |lex| lex.slice().to_string())]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `regex` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]            10 + #[derive(Logos)]
[INFO] [stderr]            11 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> src/token.rs:71:7
[INFO] [stderr]               |
[INFO] [stderr]            71 |     #[token("\"")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]            10 + #[derive(Logos)]
[INFO] [stderr]            11 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `regex` in this scope
[INFO] [stderr]              --> src/token.rs:75:7
[INFO] [stderr]               |
[INFO] [stderr]            75 |     #[regex("[+-]", |lex| lex.slice().chars().next())]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `regex` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]            10 + #[derive(Logos)]
[INFO] [stderr]            11 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `regex` in this scope
[INFO] [stderr]              --> src/token.rs:77:7
[INFO] [stderr]               |
[INFO] [stderr]            77 |     #[regex("[0-9][_0-9]*", parse_number)]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `regex` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]            10 + #[derive(Logos)]
[INFO] [stderr]            11 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `regex` in this scope
[INFO] [stderr]              --> src/token.rs:79:7
[INFO] [stderr]               |
[INFO] [stderr]            79 |     #[regex("0[xX][0-9a-fA-F][_0-9a-fA-F]*", parse_number)]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `regex` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]            10 + #[derive(Logos)]
[INFO] [stderr]            11 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `regex` in this scope
[INFO] [stderr]              --> src/token.rs:81:7
[INFO] [stderr]               |
[INFO] [stderr]            81 |     #[regex("[0-9]*\\.[0-9]*", parse_number)]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `regex` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]            10 + #[derive(Logos)]
[INFO] [stderr]            11 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `regex` in this scope
[INFO] [stderr]              --> src/token.rs:82:7
[INFO] [stderr]               |
[INFO] [stderr]            82 |     #[regex("[0-9]+(\\.[0-9]*)?[eE][+-]?[0-9]+", parse_number)]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `regex` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]            10 + #[derive(Logos)]
[INFO] [stderr]            11 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `regex` in this scope
[INFO] [stderr]              --> src/token.rs:84:7
[INFO] [stderr]               |
[INFO] [stderr]            84 |     #[regex("true|false", |lex| lex.slice().parse().map_err(|_| ()))]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `regex` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]            10 + #[derive(Logos)]
[INFO] [stderr]            11 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: `Token` doesn't implement `Debug`
[INFO] [stderr]               --> /opt/rustwide/target/debug/build/candid_parser-451a6ef65a285c38/out/grammar.rs:925:22
[INFO] [stderr]                |
[INFO] [stderr]            925 |         type Token = Token;
[INFO] [stderr]                |                      ^^^^^ the trait `Debug` is not implemented for `Token`
[INFO] [stderr]                |
[INFO] [stderr]            note: required by a bound in `grammar::__lalrpop_util::state_machine::ParserDefinition::Token`
[INFO] [stderr]               --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lalrpop-util-0.20.2/src/state_machine.rs:27:25
[INFO] [stderr]                |
[INFO] [stderr]             27 |     type Token: Clone + Debug;
[INFO] [stderr]                |                         ^^^^^ required by this bound in `ParserDefinition::Token`
[INFO] [stderr]            help: consider annotating `Token` with `#[derive(Debug)]`
[INFO] [stderr]               --> src/token.rs:10:1
[INFO] [stderr]                |
[INFO] [stderr]             10 + #[derive(Debug)]
[INFO] [stderr]             11 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `Token: Clone` is not satisfied
[INFO] [stderr]               --> /opt/rustwide/target/debug/build/candid_parser-451a6ef65a285c38/out/grammar.rs:925:22
[INFO] [stderr]                |
[INFO] [stderr]            925 |         type Token = Token;
[INFO] [stderr]                |                      ^^^^^ the trait `Clone` is not implemented for `Token`
[INFO] [stderr]                |
[INFO] [stderr]            note: required by a bound in `grammar::__lalrpop_util::state_machine::ParserDefinition::Token`
[INFO] [stderr]               --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lalrpop-util-0.20.2/src/state_machine.rs:27:17
[INFO] [stderr]                |
[INFO] [stderr]             27 |     type Token: Clone + Debug;
[INFO] [stderr]                |                 ^^^^^ required by this bound in `ParserDefinition::Token`
[INFO] [stderr]            help: consider annotating `Token` with `#[derive(Clone)]`
[INFO] [stderr]               --> src/token.rs:10:1
[INFO] [stderr]                |
[INFO] [stderr]             10 + #[derive(Clone)]
[INFO] [stderr]             11 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: `Token` doesn't implement `Debug`
[INFO] [stderr]                --> /opt/rustwide/target/debug/build/candid_parser-451a6ef65a285c38/out/grammar.rs:9891:22
[INFO] [stderr]                 |
[INFO] [stderr]            9891 |         type Token = Token;
[INFO] [stderr]                 |                      ^^^^^ the trait `Debug` is not implemented for `Token`
[INFO] [stderr]                 |
[INFO] [stderr]            note: required by a bound in `grammar::__lalrpop_util::state_machine::ParserDefinition::Token`
[INFO] [stderr]                --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lalrpop-util-0.20.2/src/state_machine.rs:27:25
[INFO] [stderr]                 |
[INFO] [stderr]              27 |     type Token: Clone + Debug;
[INFO] [stderr]                 |                         ^^^^^ required by this bound in `ParserDefinition::Token`
[INFO] [stderr]            help: consider annotating `Token` with `#[derive(Debug)]`
[INFO] [stderr]                -->  src/token.rs:10:1
[INFO] [stderr]                 |
[INFO] [stderr]              10 + #[derive(Debug)]
[INFO] [stderr]              11 | pub enum Token {
[INFO] [stderr]                 |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `Token: Clone` is not satisfied
[INFO] [stderr]                --> /opt/rustwide/target/debug/build/candid_parser-451a6ef65a285c38/out/grammar.rs:9891:22
[INFO] [stderr]                 |
[INFO] [stderr]            9891 |         type Token = Token;
[INFO] [stderr]                 |                      ^^^^^ the trait `Clone` is not implemented for `Token`
[INFO] [stderr]                 |
[INFO] [stderr]            note: required by a bound in `grammar::__lalrpop_util::state_machine::ParserDefinition::Token`
[INFO] [stderr]                --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lalrpop-util-0.20.2/src/state_machine.rs:27:17
[INFO] [stderr]                 |
[INFO] [stderr]              27 |     type Token: Clone + Debug;
[INFO] [stderr]                 |                 ^^^^^ required by this bound in `ParserDefinition::Token`
[INFO] [stderr]            help: consider annotating `Token` with `#[derive(Clone)]`
[INFO] [stderr]                -->  src/token.rs:10:1
[INFO] [stderr]                 |
[INFO] [stderr]              10 + #[derive(Clone)]
[INFO] [stderr]              11 | pub enum Token {
[INFO] [stderr]                 |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: `Token` doesn't implement `Debug`
[INFO] [stderr]                 --> /opt/rustwide/target/debug/build/candid_parser-451a6ef65a285c38/out/grammar.rs:18574:22
[INFO] [stderr]                  |
[INFO] [stderr]            18574 |         type Token = Token;
[INFO] [stderr]                  |                      ^^^^^ the trait `Debug` is not implemented for `Token`
[INFO] [stderr]                  |
[INFO] [stderr]            note: required by a bound in `grammar::__lalrpop_util::state_machine::ParserDefinition::Token`
[INFO] [stderr]                 --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lalrpop-util-0.20.2/src/state_machine.rs:27:25
[INFO] [stderr]                  |
[INFO] [stderr]               27 |     type Token: Clone + Debug;
[INFO] [stderr]                  |                         ^^^^^ required by this bound in `ParserDefinition::Token`
[INFO] [stderr]            help: consider annotating `Token` with `#[derive(Debug)]`
[INFO] [stderr]                 -->   src/token.rs:10:1
[INFO] [stderr]                  |
[INFO] [stderr]               10 + #[derive(Debug)]
[INFO] [stderr]               11 | pub enum Token {
[INFO] [stderr]                  |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `Token: Clone` is not satisfied
[INFO] [stderr]                 --> /opt/rustwide/target/debug/build/candid_parser-451a6ef65a285c38/out/grammar.rs:18574:22
[INFO] [stderr]                  |
[INFO] [stderr]            18574 |         type Token = Token;
[INFO] [stderr]                  |                      ^^^^^ the trait `Clone` is not implemented for `Token`
[INFO] [stderr]                  |
[INFO] [stderr]            note: required by a bound in `grammar::__lalrpop_util::state_machine::ParserDefinition::Token`
[INFO] [stderr]                 --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lalrpop-util-0.20.2/src/state_machine.rs:27:17
[INFO] [stderr]                  |
[INFO] [stderr]               27 |     type Token: Clone + Debug;
[INFO] [stderr]                  |                 ^^^^^ required by this bound in `ParserDefinition::Token`
[INFO] [stderr]            help: consider annotating `Token` with `#[derive(Clone)]`
[INFO] [stderr]                 -->   src/token.rs:10:1
[INFO] [stderr]                  |
[INFO] [stderr]               10 + #[derive(Clone)]
[INFO] [stderr]               11 | pub enum Token {
[INFO] [stderr]                  |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: `Token` doesn't implement `Debug`
[INFO] [stderr]                 --> /opt/rustwide/target/debug/build/candid_parser-451a6ef65a285c38/out/grammar.rs:27342:22
[INFO] [stderr]                  |
[INFO] [stderr]            27342 |         type Token = Token;
[INFO] [stderr]                  |                      ^^^^^ the trait `Debug` is not implemented for `Token`
[INFO] [stderr]                  |
[INFO] [stderr]            note: required by a bound in `grammar::__lalrpop_util::state_machine::ParserDefinition::Token`
[INFO] [stderr]                 --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lalrpop-util-0.20.2/src/state_machine.rs:27:25
[INFO] [stderr]                  |
[INFO] [stderr]               27 |     type Token: Clone + Debug;
[INFO] [stderr]                  |                         ^^^^^ required by this bound in `ParserDefinition::Token`
[INFO] [stderr]            help: consider annotating `Token` with `#[derive(Debug)]`
[INFO] [stderr]                 -->   src/token.rs:10:1
[INFO] [stderr]                  |
[INFO] [stderr]               10 + #[derive(Debug)]
[INFO] [stderr]               11 | pub enum Token {
[INFO] [stderr]                  |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `Token: Clone` is not satisfied
[INFO] [stderr]                 --> /opt/rustwide/target/debug/build/candid_parser-451a6ef65a285c38/out/grammar.rs:27342:22
[INFO] [stderr]                  |
[INFO] [stderr]            27342 |         type Token = Token;
[INFO] [stderr]                  |                      ^^^^^ the trait `Clone` is not implemented for `Token`
[INFO] [stderr]                  |
[INFO] [stderr]            note: required by a bound in `grammar::__lalrpop_util::state_machine::ParserDefinition::Token`
[INFO] [stderr]                 --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lalrpop-util-0.20.2/src/state_machine.rs:27:17
[INFO] [stderr]                  |
[INFO] [stderr]               27 |     type Token: Clone + Debug;
[INFO] [stderr]                  |                 ^^^^^ required by this bound in `ParserDefinition::Token`
[INFO] [stderr]            help: consider annotating `Token` with `#[derive(Clone)]`
[INFO] [stderr]                 -->   src/token.rs:10:1
[INFO] [stderr]                  |
[INFO] [stderr]               10 + #[derive(Clone)]
[INFO] [stderr]               11 | pub enum Token {
[INFO] [stderr]                  |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: `Token` doesn't implement `Debug`
[INFO] [stderr]                 --> /opt/rustwide/target/debug/build/candid_parser-451a6ef65a285c38/out/grammar.rs:36185:22
[INFO] [stderr]                  |
[INFO] [stderr]            36185 |         type Token = Token;
[INFO] [stderr]                  |                      ^^^^^ the trait `Debug` is not implemented for `Token`
[INFO] [stderr]                  |
[INFO] [stderr]            note: required by a bound in `grammar::__lalrpop_util::state_machine::ParserDefinition::Token`
[INFO] [stderr]                 --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lalrpop-util-0.20.2/src/state_machine.rs:27:25
[INFO] [stderr]                  |
[INFO] [stderr]               27 |     type Token: Clone + Debug;
[INFO] [stderr]                  |                         ^^^^^ required by this bound in `ParserDefinition::Token`
[INFO] [stderr]            help: consider annotating `Token` with `#[derive(Debug)]`
[INFO] [stderr]                 -->   src/token.rs:10:1
[INFO] [stderr]                  |
[INFO] [stderr]               10 + #[derive(Debug)]
[INFO] [stderr]               11 | pub enum Token {
[INFO] [stderr]                  |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `Token: Clone` is not satisfied
[INFO] [stderr]                 --> /opt/rustwide/target/debug/build/candid_parser-451a6ef65a285c38/out/grammar.rs:36185:22
[INFO] [stderr]                  |
[INFO] [stderr]            36185 |         type Token = Token;
[INFO] [stderr]                  |                      ^^^^^ the trait `Clone` is not implemented for `Token`
[INFO] [stderr]                  |
[INFO] [stderr]            note: required by a bound in `grammar::__lalrpop_util::state_machine::ParserDefinition::Token`
[INFO] [stderr]                 --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lalrpop-util-0.20.2/src/state_machine.rs:27:17
[INFO] [stderr]                  |
[INFO] [stderr]               27 |     type Token: Clone + Debug;
[INFO] [stderr]                  |                 ^^^^^ required by this bound in `ParserDefinition::Token`
[INFO] [stderr]            help: consider annotating `Token` with `#[derive(Clone)]`
[INFO] [stderr]                 -->   src/token.rs:10:1
[INFO] [stderr]                  |
[INFO] [stderr]               10 + #[derive(Clone)]
[INFO] [stderr]               11 | pub enum Token {
[INFO] [stderr]                  |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: `Token` doesn't implement `Debug`
[INFO] [stderr]                 --> /opt/rustwide/target/debug/build/candid_parser-451a6ef65a285c38/out/grammar.rs:44786:22
[INFO] [stderr]                  |
[INFO] [stderr]            44786 |         type Token = Token;
[INFO] [stderr]                  |                      ^^^^^ the trait `Debug` is not implemented for `Token`
[INFO] [stderr]                  |
[INFO] [stderr]            note: required by a bound in `grammar::__lalrpop_util::state_machine::ParserDefinition::Token`
[INFO] [stderr]                 --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lalrpop-util-0.20.2/src/state_machine.rs:27:25
[INFO] [stderr]                  |
[INFO] [stderr]               27 |     type Token: Clone + Debug;
[INFO] [stderr]                  |                         ^^^^^ required by this bound in `ParserDefinition::Token`
[INFO] [stderr]            help: consider annotating `Token` with `#[derive(Debug)]`
[INFO] [stderr]                 -->   src/token.rs:10:1
[INFO] [stderr]                  |
[INFO] [stderr]               10 + #[derive(Debug)]
[INFO] [stderr]               11 | pub enum Token {
[INFO] [stderr]                  |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `Token: Clone` is not satisfied
[INFO] [stderr]                 --> /opt/rustwide/target/debug/build/candid_parser-451a6ef65a285c38/out/grammar.rs:44786:22
[INFO] [stderr]                  |
[INFO] [stderr]            44786 |         type Token = Token;
[INFO] [stderr]                  |                      ^^^^^ the trait `Clone` is not implemented for `Token`
[INFO] [stderr]                  |
[INFO] [stderr]            note: required by a bound in `grammar::__lalrpop_util::state_machine::ParserDefinition::Token`
[INFO] [stderr]                 --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lalrpop-util-0.20.2/src/state_machine.rs:27:17
[INFO] [stderr]                  |
[INFO] [stderr]               27 |     type Token: Clone + Debug;
[INFO] [stderr]                  |                 ^^^^^ required by this bound in `ParserDefinition::Token`
[INFO] [stderr]            help: consider annotating `Token` with `#[derive(Clone)]`
[INFO] [stderr]                 -->   src/token.rs:10:1
[INFO] [stderr]                  |
[INFO] [stderr]               10 + #[derive(Clone)]
[INFO] [stderr]               11 | pub enum Token {
[INFO] [stderr]                  |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: `Token` doesn't implement `Debug`
[INFO] [stderr]                 --> /opt/rustwide/target/debug/build/candid_parser-451a6ef65a285c38/out/grammar.rs:53392:22
[INFO] [stderr]                  |
[INFO] [stderr]            53392 |         type Token = Token;
[INFO] [stderr]                  |                      ^^^^^ the trait `Debug` is not implemented for `Token`
[INFO] [stderr]                  |
[INFO] [stderr]            note: required by a bound in `grammar::__lalrpop_util::state_machine::ParserDefinition::Token`
[INFO] [stderr]                 --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lalrpop-util-0.20.2/src/state_machine.rs:27:25
[INFO] [stderr]                  |
[INFO] [stderr]               27 |     type Token: Clone + Debug;
[INFO] [stderr]                  |                         ^^^^^ required by this bound in `ParserDefinition::Token`
[INFO] [stderr]            help: consider annotating `Token` with `#[derive(Debug)]`
[INFO] [stderr]                 -->   src/token.rs:10:1
[INFO] [stderr]                  |
[INFO] [stderr]               10 + #[derive(Debug)]
[INFO] [stderr]               11 | pub enum Token {
[INFO] [stderr]                  |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `Token: Clone` is not satisfied
[INFO] [stderr]                 --> /opt/rustwide/target/debug/build/candid_parser-451a6ef65a285c38/out/grammar.rs:53392:22
[INFO] [stderr]                  |
[INFO] [stderr]            53392 |         type Token = Token;
[INFO] [stderr]                  |                      ^^^^^ the trait `Clone` is not implemented for `Token`
[INFO] [stderr]                  |
[INFO] [stderr]            note: required by a bound in `grammar::__lalrpop_util::state_machine::ParserDefinition::Token`
[INFO] [stderr]                 --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lalrpop-util-0.20.2/src/state_machine.rs:27:17
[INFO] [stderr]                  |
[INFO] [stderr]               27 |     type Token: Clone + Debug;
[INFO] [stderr]                  |                 ^^^^^ required by this bound in `ParserDefinition::Token`
[INFO] [stderr]            help: consider annotating `Token` with `#[derive(Clone)]`
[INFO] [stderr]                 -->   src/token.rs:10:1
[INFO] [stderr]                  |
[INFO] [stderr]               10 + #[derive(Clone)]
[INFO] [stderr]               11 | pub enum Token {
[INFO] [stderr]                  |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `Token: Logos<'_>` is not satisfied
[INFO] [stderr]               --> src/token.rs:117:27
[INFO] [stderr]                |
[INFO] [stderr]            117 | fn parse_number(lex: &mut Lexer<Token>) -> String {
[INFO] [stderr]                |                           ^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stderr]                |
[INFO] [stderr]            help: the trait `Logos<'_>` is not implemented for `Token`
[INFO] [stderr]               --> src/token.rs:10:1
[INFO] [stderr]                |
[INFO] [stderr]             10 | pub enum Token {
[INFO] [stderr]                | ^^^^^^^^^^^^^^
[INFO] [stderr]            help: the following other types implement trait `Logos<'source>`
[INFO] [stderr]               --> src/token.rs:88:10
[INFO] [stderr]                |
[INFO] [stderr]             88 | #[derive(Logos, Debug, Clone, PartialEq, Eq)]
[INFO] [stderr]                |          ^^^^^ `token::Comment`
[INFO] [stderr]            ...
[INFO] [stderr]             96 | #[derive(Logos, Debug, Clone, PartialEq, Eq)]
[INFO] [stderr]                |          ^^^^^ `token::Text`
[INFO] [stderr]            note: required by a bound in `logos::Lexer`
[INFO] [stderr]               --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/logos-0.14.0/src/lexer.rs:14:34
[INFO] [stderr]                |
[INFO] [stderr]             14 | pub struct Lexer<'source, Token: Logos<'source>> {
[INFO] [stderr]                |                                  ^^^^^^^^^^^^^^ required by this bound in `Lexer`
[INFO] [stderr]                = note: this error originates in the derive macro `Logos` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `Token: Logos<'_>` is not satisfied
[INFO] [stderr]               --> src/token.rs:126:28
[INFO] [stderr]                |
[INFO] [stderr]            126 | fn parse_doc_comment(lex: &Lexer<Token>) -> String {
[INFO] [stderr]                |                            ^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stderr]                |
[INFO] [stderr]            help: the trait `Logos<'_>` is not implemented for `Token`
[INFO] [stderr]               --> src/token.rs:10:1
[INFO] [stderr]                |
[INFO] [stderr]             10 | pub enum Token {
[INFO] [stderr]                | ^^^^^^^^^^^^^^
[INFO] [stderr]            help: the following other types implement trait `Logos<'source>`
[INFO] [stderr]               --> src/token.rs:88:10
[INFO] [stderr]                |
[INFO] [stderr]             88 | #[derive(Logos, Debug, Clone, PartialEq, Eq)]
[INFO] [stderr]                |          ^^^^^ `token::Comment`
[INFO] [stderr]            ...
[INFO] [stderr]             96 | #[derive(Logos, Debug, Clone, PartialEq, Eq)]
[INFO] [stderr]                |          ^^^^^ `token::Text`
[INFO] [stderr]            note: required by a bound in `logos::Lexer`
[INFO] [stderr]               --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/logos-0.14.0/src/lexer.rs:14:34
[INFO] [stderr]                |
[INFO] [stderr]             14 | pub struct Lexer<'source, Token: Logos<'source>> {
[INFO] [stderr]                |                                  ^^^^^^^^^^^^^^ required by this bound in `Lexer`
[INFO] [stderr]                = note: this error originates in the derive macro `Logos` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `Token: Logos<'input>` is not satisfied
[INFO] [stderr]               --> src/token.rs:135:1
[INFO] [stderr]                |
[INFO] [stderr]            135 | pub struct Tokenizer<'input> {
[INFO] [stderr]                | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stderr]                |
[INFO] [stderr]            help: the trait `Logos<'input>` is not implemented for `Token`
[INFO] [stderr]               --> src/token.rs:10:1
[INFO] [stderr]                |
[INFO] [stderr]             10 | pub enum Token {
[INFO] [stderr]                | ^^^^^^^^^^^^^^
[INFO] [stderr]            help: the following other types implement trait `Logos<'source>`
[INFO] [stderr]               --> src/token.rs:88:10
[INFO] [stderr]                |
[INFO] [stderr]             88 | #[derive(Logos, Debug, Clone, PartialEq, Eq)]
[INFO] [stderr]                |          ^^^^^ `token::Comment`
[INFO] [stderr]            ...
[INFO] [stderr]             96 | #[derive(Logos, Debug, Clone, PartialEq, Eq)]
[INFO] [stderr]                |          ^^^^^ `token::Text`
[INFO] [stderr]                = note: this error originates in the derive macro `Logos` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `Token: Logos<'input>` is not satisfied
[INFO] [stderr]              --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/logos-0.14.0/src/lexer.rs:15:5
[INFO] [stderr]               |
[INFO] [stderr]            15 |     source: &'source Token::Source,
[INFO] [stderr]               |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stderr]               |
[INFO] [stderr]            help: the trait `Logos<'input>` is not implemented for `Token`
[INFO] [stderr]              --> src/token.rs:10:1
[INFO] [stderr]               |
[INFO] [stderr]            10 | pub enum Token {
[INFO] [stderr]               | ^^^^^^^^^^^^^^
[INFO] [stderr]            help: the following other types implement trait `Logos<'source>`
[INFO] [stderr]              --> src/token.rs:88:10
[INFO] [stderr]               |
[INFO] [stderr]            88 | #[derive(Logos, Debug, Clone, PartialEq, Eq)]
[INFO] [stderr]               |          ^^^^^ `token::Comment`
[INFO] [stderr]            ...
[INFO] [stderr]            96 | #[derive(Logos, Debug, Clone, PartialEq, Eq)]
[INFO] [stderr]               |          ^^^^^ `token::Text`
[INFO] [stderr]               = note: this error originates in the derive macro `Logos` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `Token: Logos<'input>` is not satisfied
[INFO] [stderr]               --> src/token.rs:143:14
[INFO] [stderr]                |
[INFO] [stderr]            143 | impl<'input> Tokenizer<'input> {
[INFO] [stderr]                |              ^^^^^^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stderr]                |
[INFO] [stderr]            help: the trait `Logos<'input>` is not implemented for `Token`
[INFO] [stderr]               --> src/token.rs:10:1
[INFO] [stderr]                |
[INFO] [stderr]             10 | pub enum Token {
[INFO] [stderr]                | ^^^^^^^^^^^^^^
[INFO] [stderr]            help: the following other types implement trait `Logos<'source>`
[INFO] [stderr]               --> src/token.rs:88:10
[INFO] [stderr]                |
[INFO] [stderr]             88 | #[derive(Logos, Debug, Clone, PartialEq, Eq)]
[INFO] [stderr]                |          ^^^^^ `token::Comment`
[INFO] [stderr]            ...
[INFO] [stderr]             96 | #[derive(Logos, Debug, Clone, PartialEq, Eq)]
[INFO] [stderr]                |          ^^^^^ `token::Text`
[INFO] [stderr]                = note: this error originates in the derive macro `Logos` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `Token: Logos<'_>` is not satisfied
[INFO] [stderr]               --> src/token.rs:240:5
[INFO] [stderr]                |
[INFO] [stderr]            240 |     fn next(&mut self) -> Option<Self::Item> {
[INFO] [stderr]                |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stderr]                |
[INFO] [stderr]            help: the trait `Logos<'_>` is not implemented for `Token`
[INFO] [stderr]               --> src/token.rs:10:1
[INFO] [stderr]                |
[INFO] [stderr]             10 | pub enum Token {
[INFO] [stderr]                | ^^^^^^^^^^^^^^
[INFO] [stderr]            help: the following other types implement trait `Logos<'source>`
[INFO] [stderr]               --> src/token.rs:88:10
[INFO] [stderr]                |
[INFO] [stderr]             88 | #[derive(Logos, Debug, Clone, PartialEq, Eq)]
[INFO] [stderr]                |          ^^^^^ `token::Comment`
[INFO] [stderr]            ...
[INFO] [stderr]             96 | #[derive(Logos, Debug, Clone, PartialEq, Eq)]
[INFO] [stderr]                |          ^^^^^ `token::Text`
[INFO] [stderr]                = note: this error originates in the derive macro `Logos` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `Token: Logos<'_>` is not satisfied
[INFO] [stderr]               --> src/token.rs:238:19
[INFO] [stderr]                |
[INFO] [stderr]            238 | impl Iterator for Tokenizer<'_> {
[INFO] [stderr]                |                   ^^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stderr]                |
[INFO] [stderr]            help: the trait `Logos<'_>` is not implemented for `Token`
[INFO] [stderr]               --> src/token.rs:10:1
[INFO] [stderr]                |
[INFO] [stderr]             10 | pub enum Token {
[INFO] [stderr]                | ^^^^^^^^^^^^^^
[INFO] [stderr]            help: the following other types implement trait `Logos<'source>`
[INFO] [stderr]               --> src/token.rs:88:10
[INFO] [stderr]                |
[INFO] [stderr]             88 | #[derive(Logos, Debug, Clone, PartialEq, Eq)]
[INFO] [stderr]                |          ^^^^^ `token::Comment`
[INFO] [stderr]            ...
[INFO] [stderr]             96 | #[derive(Logos, Debug, Clone, PartialEq, Eq)]
[INFO] [stderr]                |          ^^^^^ `token::Text`
[INFO] [stderr]                = note: this error originates in the derive macro `Logos` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `Token: Logos<'input>` is not satisfied
[INFO] [stderr]               --> src/token.rs:144:39
[INFO] [stderr]                |
[INFO] [stderr]            144 |     pub fn new(input: &'input str) -> Self {
[INFO] [stderr]                |                                       ^^^^ unsatisfied trait bound
[INFO] [stderr]                |
[INFO] [stderr]            help: the trait `Logos<'input>` is not implemented for `Token`
[INFO] [stderr]               --> src/token.rs:10:1
[INFO] [stderr]                |
[INFO] [stderr]             10 | pub enum Token {
[INFO] [stderr]                | ^^^^^^^^^^^^^^
[INFO] [stderr]            help: the following other types implement trait `Logos<'source>`
[INFO] [stderr]               --> src/token.rs:88:10
[INFO] [stderr]                |
[INFO] [stderr]             88 | #[derive(Logos, Debug, Clone, PartialEq, Eq)]
[INFO] [stderr]                |          ^^^^^ `token::Comment`
[INFO] [stderr]            ...
[INFO] [stderr]             96 | #[derive(Logos, Debug, Clone, PartialEq, Eq)]
[INFO] [stderr]                |          ^^^^^ `token::Text`
[INFO] [stderr]                = note: this error originates in the derive macro `Logos` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `Token: Logos<'input>` is not satisfied
[INFO] [stderr]               --> src/token.rs:155:70
[INFO] [stderr]                |
[INFO] [stderr]            155 |     pub fn new_with_trivia(input: &'input str, trivia: TriviaMap) -> Self {
[INFO] [stderr]                |                                                                      ^^^^ unsatisfied trait bound
[INFO] [stderr]                |
[INFO] [stderr]            help: the trait `Logos<'input>` is not implemented for `Token`
[INFO] [stderr]               --> src/token.rs:10:1
[INFO] [stderr]                |
[INFO] [stderr]             10 | pub enum Token {
[INFO] [stderr]                | ^^^^^^^^^^^^^^
[INFO] [stderr]            help: the following other types implement trait `Logos<'source>`
[INFO] [stderr]               --> src/token.rs:88:10
[INFO] [stderr]                |
[INFO] [stderr]             88 | #[derive(Logos, Debug, Clone, PartialEq, Eq)]
[INFO] [stderr]                |          ^^^^^ `token::Comment`
[INFO] [stderr]            ...
[INFO] [stderr]             96 | #[derive(Logos, Debug, Clone, PartialEq, Eq)]
[INFO] [stderr]                |          ^^^^^ `token::Text`
[INFO] [stderr]                = note: this error originates in the derive macro `Logos` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `Token: Logos<'input>` is not satisfied
[INFO] [stderr]               --> src/token.rs:167:31
[INFO] [stderr]                |
[INFO] [stderr]            167 |     fn count_newlines_between(&self, start: usize, end: usize) -> usize {
[INFO] [stderr]                |                               ^^^^^ unsatisfied trait bound
[INFO] [stderr]                |
[INFO] [stderr]            help: the trait `Logos<'input>` is not implemented for `Token`
[INFO] [stderr]               --> src/token.rs:10:1
[INFO] [stderr]                |
[INFO] [stderr]             10 | pub enum Token {
[INFO] [stderr]                | ^^^^^^^^^^^^^^
[INFO] [stderr]            help: the following other types implement trait `Logos<'source>`
[INFO] [stderr]               --> src/token.rs:88:10
[INFO] [stderr]                |
[INFO] [stderr]             88 | #[derive(Logos, Debug, Clone, PartialEq, Eq)]
[INFO] [stderr]                |          ^^^^^ `token::Comment`
[INFO] [stderr]            ...
[INFO] [stderr]             96 | #[derive(Logos, Debug, Clone, PartialEq, Eq)]
[INFO] [stderr]                |          ^^^^^ `token::Text`
[INFO] [stderr]                = note: this error originates in the derive macro `Logos` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `Token: Logos<'input>` is not satisfied
[INFO] [stderr]               --> src/token.rs:178:36
[INFO] [stderr]                |
[INFO] [stderr]            178 |     fn has_blank_line_before_token(&self, token_start: usize) -> bool {
[INFO] [stderr]                |                                    ^^^^^ unsatisfied trait bound
[INFO] [stderr]                |
[INFO] [stderr]            help: the trait `Logos<'input>` is not implemented for `Token`
[INFO] [stderr]               --> src/token.rs:10:1
[INFO] [stderr]                |
[INFO] [stderr]             10 | pub enum Token {
[INFO] [stderr]                | ^^^^^^^^^^^^^^
[INFO] [stderr]            help: the following other types implement trait `Logos<'source>`
[INFO] [stderr]               --> src/token.rs:88:10
[INFO] [stderr]                |
[INFO] [stderr]             88 | #[derive(Logos, Debug, Clone, PartialEq, Eq)]
[INFO] [stderr]                |          ^^^^^ `token::Comment`
[INFO] [stderr]            ...
[INFO] [stderr]             96 | #[derive(Logos, Debug, Clone, PartialEq, Eq)]
[INFO] [stderr]                |          ^^^^^ `token::Text`
[INFO] [stderr]                = note: this error originates in the derive macro `Logos` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `Token: Logos<'input>` is not satisfied
[INFO] [stderr]               --> src/token.rs:185:26
[INFO] [stderr]                |
[INFO] [stderr]            185 |     fn is_inline_comment(&self, comment_start: usize) -> bool {
[INFO] [stderr]                |                          ^^^^^ unsatisfied trait bound
[INFO] [stderr]                |
[INFO] [stderr]            help: the trait `Logos<'input>` is not implemented for `Token`
[INFO] [stderr]               --> src/token.rs:10:1
[INFO] [stderr]                |
[INFO] [stderr]             10 | pub enum Token {
[INFO] [stderr]                | ^^^^^^^^^^^^^^
[INFO] [stderr]            help: the following other types implement trait `Logos<'source>`
[INFO] [stderr]               --> src/token.rs:88:10
[INFO] [stderr]                |
[INFO] [stderr]             88 | #[derive(Logos, Debug, Clone, PartialEq, Eq)]
[INFO] [stderr]                |          ^^^^^ `token::Comment`
[INFO] [stderr]            ...
[INFO] [stderr]             96 | #[derive(Logos, Debug, Clone, PartialEq, Eq)]
[INFO] [stderr]                |          ^^^^^ `token::Text`
[INFO] [stderr]                = note: this error originates in the derive macro `Logos` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `Token: Logos<'input>` is not satisfied
[INFO] [stderr]               --> src/token.rs:192:22
[INFO] [stderr]                |
[INFO] [stderr]            192 |     fn find_line_end(&self, pos: usize) -> usize {
[INFO] [stderr]                |                      ^^^^^ unsatisfied trait bound
[INFO] [stderr]                |
[INFO] [stderr]            help: the trait `Logos<'input>` is not implemented for `Token`
[INFO] [stderr]               --> src/token.rs:10:1
[INFO] [stderr]                |
[INFO] [stderr]             10 | pub enum Token {
[INFO] [stderr]                | ^^^^^^^^^^^^^^
[INFO] [stderr]            help: the following other types implement trait `Logos<'source>`
[INFO] [stderr]               --> src/token.rs:88:10
[INFO] [stderr]                |
[INFO] [stderr]             88 | #[derive(Logos, Debug, Clone, PartialEq, Eq)]
[INFO] [stderr]                |          ^^^^^ `token::Comment`
[INFO] [stderr]            ...
[INFO] [stderr]             96 | #[derive(Logos, Debug, Clone, PartialEq, Eq)]
[INFO] [stderr]                |          ^^^^^ `token::Text`
[INFO] [stderr]                = note: this error originates in the derive macro `Logos` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `Token: Logos<'_>` is not satisfied
[INFO] [stderr]               --> src/token.rs:240:13
[INFO] [stderr]                |
[INFO] [stderr]            240 |     fn next(&mut self) -> Option<Self::Item> {
[INFO] [stderr]                |             ^^^^^^^^^ unsatisfied trait bound
[INFO] [stderr]                |
[INFO] [stderr]            help: the trait `Logos<'_>` is not implemented for `Token`
[INFO] [stderr]               --> src/token.rs:10:1
[INFO] [stderr]                |
[INFO] [stderr]             10 | pub enum Token {
[INFO] [stderr]                | ^^^^^^^^^^^^^^
[INFO] [stderr]            help: the following other types implement trait `Logos<'source>`
[INFO] [stderr]               --> src/token.rs:88:10
[INFO] [stderr]                |
[INFO] [stderr]             88 | #[derive(Logos, Debug, Clone, PartialEq, Eq)]
[INFO] [stderr]                |          ^^^^^ `token::Comment`
[INFO] [stderr]            ...
[INFO] [stderr]             96 | #[derive(Logos, Debug, Clone, PartialEq, Eq)]
[INFO] [stderr]                |          ^^^^^ `token::Text`
[INFO] [stderr]                = note: this error originates in the derive macro `Logos` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: `Token` doesn't implement `Debug`
[INFO] [stderr]              --> src/error.rs:18:19
[INFO] [stderr]               |
[INFO] [stderr]            15 | #[derive(Debug, Error)]
[INFO] [stderr]               |          ----- in this derive macro expansion
[INFO] [stderr]            ...
[INFO] [stderr]            18 |     Parse(#[from] token::ParserError),
[INFO] [stderr]               |                   ^^^^^^^^^^^^^^^^^^ the trait `Debug` is not implemented for `Token`
[INFO] [stderr]               |
[INFO] [stderr]            help: the trait `Debug` is implemented for `ParseError<L, T, E>`
[INFO] [stderr]              --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lalrpop-util-0.20.2/src/lib.rs:14:17
[INFO] [stderr]               |
[INFO] [stderr]            14 | #[derive(Clone, Debug, PartialEq, Eq, PartialOrd, Ord)]
[INFO] [stderr]               |                 ^^^^^
[INFO] [stderr]            help: consider annotating `Token` with `#[derive(Debug)]`
[INFO] [stderr]              --> src/token.rs:10:1
[INFO] [stderr]               |
[INFO] [stderr]            10 + #[derive(Debug)]
[INFO] [stderr]            11 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0599]: the method `as_dyn_error` exists for reference `&ParseError<usize, Token, LexicalError>`, but its trait bounds were not satisfied
[INFO] [stderr]              --> src/error.rs:18:13
[INFO] [stderr]               |
[INFO] [stderr]            18 |     Parse(#[from] token::ParserError),
[INFO] [stderr]               |             ^^^^ method cannot be called on `&ParseError<usize, Token, LexicalError>` due to unsatisfied trait bounds
[INFO] [stderr]               |
[INFO] [stderr]              ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lalrpop-util-0.20.2/src/lib.rs:15:1
[INFO] [stderr]               |
[INFO] [stderr]            15 | pub enum ParseError<L, T, E> {
[INFO] [stderr]               | ---------------------------- doesn't satisfy `ParseError<usize, Token, LexicalError>: StdError` or `_: AsDynError<'_>`
[INFO] [stderr]               |
[INFO] [stderr]               = note: the following trait bounds were not satisfied:
[INFO] [stderr]                       `ParseError<usize, Token, LexicalError>: StdError`
[INFO] [stderr]                       which is required by `ParseError<usize, Token, LexicalError>: thiserror::__private::AsDynError<'_>`
[INFO] [stderr]                       `&ParseError<usize, Token, LexicalError>: StdError`
[INFO] [stderr]                       which is required by `&ParseError<usize, Token, LexicalError>: thiserror::__private::AsDynError<'_>`
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `Token: Logos<'_>` is not satisfied
[INFO] [stderr]              --> src/syntax/mod.rs:47:21
[INFO] [stderr]               |
[INFO] [stderr]            47 |         let lexer = super::token::Tokenizer::new_with_trivia(str, trivia.clone());
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]   --> src/bindings/javascript.rs:11:27
[INFO] [stdout]    |
[INFO] [stdout] 11 |         TypeInner::Record(ref fs) => is_tuple_fields(fs),
[INFO] [stdout]    |                           ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]    |
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]   --> src/bindings/javascript.rs:11:9
[INFO] [stdout]    |
[INFO] [stdout] 11 |         TypeInner::Record(ref fs) => is_tuple_fields(fs),
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout]    = warning: this changes meaning in Rust 2024
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout]    = note: `--force-warn rust-2024-incompatible-pat` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]    |
[INFO] [stdout] 11 -         TypeInner::Record(ref fs) => is_tuple_fields(fs),
[INFO] [stdout] 11 +         TypeInner::Record(fs) => is_tuple_fields(fs),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]    --> src/bindings/javascript.rs:122:13
[INFO] [stdout]     |
[INFO] [stdout] 122 |         Var(ref s) => ident(s),
[INFO] [stdout]     |             ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]    --> src/bindings/javascript.rs:122:9
[INFO] [stdout]     |
[INFO] [stdout] 122 |         Var(ref s) => ident(s),
[INFO] [stdout]     |         ^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]     |
[INFO] [stdout] 122 -         Var(ref s) => ident(s),
[INFO] [stdout] 122 +         Var(s) => ident(s),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]    --> src/bindings/javascript.rs:124:13
[INFO] [stdout]     |
[INFO] [stdout] 124 |         Opt(ref t) => str("IDL.Opt").append(enclose("(", pp_ty(t), ")")),
[INFO] [stdout]     |             ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]    --> src/bindings/javascript.rs:124:9
[INFO] [stdout]     |
[INFO] [stdout] 124 |         Opt(ref t) => str("IDL.Opt").append(enclose("(", pp_ty(t), ")")),
[INFO] [stdout]     |         ^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]     |
[INFO] [stdout] 124 -         Opt(ref t) => str("IDL.Opt").append(enclose("(", pp_ty(t), ")")),
[INFO] [stdout] 124 +         Opt(t) => str("IDL.Opt").append(enclose("(", pp_ty(t), ")")),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]    --> src/bindings/javascript.rs:125:13
[INFO] [stdout]     |
[INFO] [stdout] 125 |         Vec(ref t) => str("IDL.Vec").append(enclose("(", pp_ty(t), ")")),
[INFO] [stdout]     |             ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]    --> src/bindings/javascript.rs:125:9
[INFO] [stdout]     |
[INFO] [stdout] 125 |         Vec(ref t) => str("IDL.Vec").append(enclose("(", pp_ty(t), ")")),
[INFO] [stdout]     |         ^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]     |
[INFO] [stdout] 125 -         Vec(ref t) => str("IDL.Vec").append(enclose("(", pp_ty(t), ")")),
[INFO] [stdout] 125 +         Vec(t) => str("IDL.Vec").append(enclose("(", pp_ty(t), ")")),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]    --> src/bindings/javascript.rs:126:16
[INFO] [stdout]     |
[INFO] [stdout] 126 |         Record(ref fs) => {
[INFO] [stdout]     |                ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]    --> src/bindings/javascript.rs:126:9
[INFO] [stdout]     |
[INFO] [stdout] 126 |         Record(ref fs) => {
[INFO] [stdout]     |         ^^^^^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]     |
[INFO] [stdout] 126 -         Record(ref fs) => {
[INFO] [stdout] 126 +         Record(fs) => {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]    --> src/bindings/javascript.rs:134:17
[INFO] [stdout]     |
[INFO] [stdout] 134 |         Variant(ref fs) => str("IDL.Variant").append(pp_fields(fs)),
[INFO] [stdout]     |                 ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]    --> src/bindings/javascript.rs:134:9
[INFO] [stdout]     |
[INFO] [stdout] 134 |         Variant(ref fs) => str("IDL.Variant").append(pp_fields(fs)),
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]     |
[INFO] [stdout] 134 -         Variant(ref fs) => str("IDL.Variant").append(pp_fields(fs)),
[INFO] [stdout] 134 +         Variant(fs) => str("IDL.Variant").append(pp_fields(fs)),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]    --> src/bindings/javascript.rs:135:14
[INFO] [stdout]     |
[INFO] [stdout] 135 |         Func(ref func) => str("IDL.Func").append(pp_function(func)),
[INFO] [stdout]     |              ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]    --> src/bindings/javascript.rs:135:9
[INFO] [stdout]     |
[INFO] [stdout] 135 |         Func(ref func) => str("IDL.Func").append(pp_function(func)),
[INFO] [stdout]     |         ^^^^^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]     |
[INFO] [stdout] 135 -         Func(ref func) => str("IDL.Func").append(pp_function(func)),
[INFO] [stdout] 135 +         Func(func) => str("IDL.Func").append(pp_function(func)),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]    --> src/bindings/javascript.rs:136:17
[INFO] [stdout]     |
[INFO] [stdout] 136 |         Service(ref serv) => str("IDL.Service").append(pp_service(serv)),
[INFO] [stdout]     |                 ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]    --> src/bindings/javascript.rs:136:9
[INFO] [stdout]     |
[INFO] [stdout] 136 |         Service(ref serv) => str("IDL.Service").append(pp_service(serv)),
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]     |
[INFO] [stdout] 136 -         Service(ref serv) => str("IDL.Service").append(pp_service(serv)),
[INFO] [stdout] 136 +         Service(serv) => str("IDL.Service").append(pp_service(serv)),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]    --> src/bindings/javascript.rs:252:48
[INFO] [stdout]     |
[INFO] [stdout] 252 |             let init = if let TypeInner::Class(ref args, _) = actor.as_ref() {
[INFO] [stdout]     |                                                ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]    --> src/bindings/javascript.rs:252:31
[INFO] [stdout]     |
[INFO] [stdout] 252 |             let init = if let TypeInner::Class(ref args, _) = actor.as_ref() {
[INFO] [stdout]     |                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]     |
[INFO] [stdout] 252 -             let init = if let TypeInner::Class(ref args, _) = actor.as_ref() {
[INFO] [stdout] 252 +             let init = if let TypeInner::Class(args, _) = actor.as_ref() {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]    --> src/bindings/javascript.rs:285:30
[INFO] [stdout]     |
[INFO] [stdout] 285 |             IDLValue::Record(ref fs) => {
[INFO] [stdout]     |                              ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]    --> src/bindings/javascript.rs:285:13
[INFO] [stdout]     |
[INFO] [stdout] 285 |             IDLValue::Record(ref fs) => {
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]     |
[INFO] [stdout] 285 -             IDLValue::Record(ref fs) => {
[INFO] [stdout] 285 +             IDLValue::Record(fs) => {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]   --> src/bindings/motoko.rs:14:27
[INFO] [stdout]    |
[INFO] [stdout] 14 |         TypeInner::Record(ref fs) => is_tuple_fields(fs),
[INFO] [stdout]    |                           ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]    |
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]   --> src/bindings/motoko.rs:14:9
[INFO] [stdout]    |
[INFO] [stdout] 14 |         TypeInner::Record(ref fs) => is_tuple_fields(fs),
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout]    = warning: this changes meaning in Rust 2024
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]    |
[INFO] [stdout] 14 -         TypeInner::Record(ref fs) => is_tuple_fields(fs),
[INFO] [stdout] 14 +         TypeInner::Record(fs) => is_tuple_fields(fs),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]    --> src/bindings/motoko.rs:101:29
[INFO] [stdout]     |
[INFO] [stdout] 101 |         (TypeInner::Service(ref meths), Some(IDLType::ServT(methods))) => {
[INFO] [stdout]     |                             ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]    --> src/bindings/motoko.rs:101:10
[INFO] [stdout]     |
[INFO] [stdout] 101 |         (TypeInner::Service(ref meths), Some(IDLType::ServT(methods))) => {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]     |
[INFO] [stdout] 101 -         (TypeInner::Service(ref meths), Some(IDLType::ServT(methods))) => {
[INFO] [stdout] 101 +         (TypeInner::Service(meths), Some(IDLType::ServT(methods))) => {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]    --> src/bindings/motoko.rs:104:27
[INFO] [stdout]     |
[INFO] [stdout] 104 |         (TypeInner::Class(ref args, t), Some(IDLType::ClassT(_, syntax_t))) => {
[INFO] [stdout]     |                           ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]    --> src/bindings/motoko.rs:104:10
[INFO] [stdout]     |
[INFO] [stdout] 104 |         (TypeInner::Class(ref args, t), Some(IDLType::ClassT(_, syntax_t))) => {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]     |
[INFO] [stdout] 104 -         (TypeInner::Class(ref args, t), Some(IDLType::ClassT(_, syntax_t))) => {
[INFO] [stdout] 104 +         (TypeInner::Class(args, t), Some(IDLType::ClassT(_, syntax_t))) => {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]    --> src/bindings/motoko.rs:107:28
[INFO] [stdout]     |
[INFO] [stdout] 107 |         (TypeInner::Record(ref fields), Some(IDLType::RecordT(syntax_fields))) => {
[INFO] [stdout]     |                            ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]    --> src/bindings/motoko.rs:107:10
[INFO] [stdout]     |
[INFO] [stdout] 107 |         (TypeInner::Record(ref fields), Some(IDLType::RecordT(syntax_fields))) => {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]     |
[INFO] [stdout] 107 -         (TypeInner::Record(ref fields), Some(IDLType::RecordT(syntax_fields))) => {
[INFO] [stdout] 107 +         (TypeInner::Record(fields), Some(IDLType::RecordT(syntax_fields))) => {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]    --> src/bindings/motoko.rs:110:29
[INFO] [stdout]     |
[INFO] [stdout] 110 |         (TypeInner::Variant(ref fields), Some(IDLType::VariantT(syntax_fields))) => {
[INFO] [stdout]     |                             ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]    --> src/bindings/motoko.rs:110:10
[INFO] [stdout]     |
[INFO] [stdout] 110 |         (TypeInner::Variant(ref fields), Some(IDLType::VariantT(syntax_fields))) => {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]     |
[INFO] [stdout] 110 -         (TypeInner::Variant(ref fields), Some(IDLType::VariantT(syntax_fields))) => {
[INFO] [stdout] 110 +         (TypeInner::Variant(fields), Some(IDLType::VariantT(syntax_fields))) => {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]    --> src/bindings/motoko.rs:113:25
[INFO] [stdout]     |
[INFO] [stdout] 113 |         (TypeInner::Opt(ref inner), Some(IDLType::OptT(syntax))) => {
[INFO] [stdout]     |                         ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]    --> src/bindings/motoko.rs:113:10
[INFO] [stdout]     |
[INFO] [stdout] 113 |         (TypeInner::Opt(ref inner), Some(IDLType::OptT(syntax))) => {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]     |
[INFO] [stdout] 113 -         (TypeInner::Opt(ref inner), Some(IDLType::OptT(syntax))) => {
[INFO] [stdout] 113 +         (TypeInner::Opt(inner), Some(IDLType::OptT(syntax))) => {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]               |                     ^^^^^^^^^^^^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stderr]               |
[INFO] [stderr]            help: the trait `Logos<'_>` is not implemented for `Token`
[INFO] [stderr]              --> src/token.rs:10:1
[INFO] [stderr]               |
[INFO] [stderr]            10 | pub enum Token {
[INFO] [stderr]               | ^^^^^^^^^^^^^^
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `Token: Logos<'_>` is not satisfied
[INFO] [stderr]              --> src/syntax/mod.rs:47:21
[INFO] [stderr]               |
[INFO] [stderr]            47 |         let lexer = super::token::Tokenizer::new_with_trivia(str, trivia.clone());
[INFO] [stderr]               |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stderr]               |
[INFO] [stderr]            help: the trait `Logos<'_>` is not implemented for `Token`
[INFO] [stderr]              --> src/token.rs:10:1
[INFO] [stderr]               |
[INFO] [stderr]            10 | pub enum Token {
[INFO] [stderr]               | ^^^^^^^^^^^^^^
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `Token: Logos<'_>` is not satisfied
[INFO] [stderr]              --> src/syntax/mod.rs:48:12
[INFO] [stderr]               |
[INFO] [stderr]            48 |         Ok(super::grammar::TypParser::new().parse(Some(&trivia), lexer)?)
[INFO] [stderr]               |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stderr]               |
[INFO] [stderr]            help: the trait `Logos<'_>` is not implemented for `Token`
[INFO] [stderr]              --> src/token.rs:10:1
[INFO] [stderr]               |
[INFO] [stderr]            10 | pub enum Token {
[INFO] [stderr]               | ^^^^^^^^^^^^^^
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `Token: Logos<'_>` is not satisfied
[INFO] [stderr]              --> src/syntax/mod.rs:61:21
[INFO] [stderr]               |
[INFO] [stderr]            61 |         let lexer = super::token::Tokenizer::new_with_trivia(str, trivia.clone());
[INFO] [stderr]               |                     ^^^^^^^^^^^^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stderr]               |
[INFO] [stderr]            help: the trait `Logos<'_>` is not implemented for `Token`
[INFO] [stderr]              --> src/token.rs:10:1
[INFO] [stderr]               |
[INFO] [stderr]            10 | pub enum Token {
[INFO] [stderr]               | ^^^^^^^^^^^^^^
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `Token: Logos<'_>` is not satisfied
[INFO] [stderr]              --> src/syntax/mod.rs:61:21
[INFO] [stderr]               |
[INFO] [stderr]            61 |         let lexer = super::token::Tokenizer::new_with_trivia(str, trivia.clone());
[INFO] [stderr]               |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stderr]               |
[INFO] [stderr]            help: the trait `Logos<'_>` is not implemented for `Token`
[INFO] [stderr]              --> src/token.rs:10:1
[INFO] [stderr]               |
[INFO] [stderr]            10 | pub enum Token {
[INFO] [stderr]               | ^^^^^^^^^^^^^^
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `Token: Logos<'_>` is not satisfied
[INFO] [stderr]              --> src/syntax/mod.rs:62:12
[INFO] [stderr]               |
[INFO] [stderr]            62 |         Ok(super::grammar::TypsParser::new().parse(Some(&trivia), lexer)?)
[INFO] [stderr]               |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stderr]               |
[INFO] [stderr]            help: the trait `Logos<'_>` is not implemented for `Token`
[INFO] [stderr]              --> src/token.rs:10:1
[INFO] [stderr]               |
[INFO] [stderr]            10 | pub enum Token {
[INFO] [stderr]               | ^^^^^^^^^^^^^^
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `Token: Logos<'_>` is not satisfied
[INFO] [stderr]               --> src/syntax/mod.rs:162:21
[INFO] [stderr]                |
[INFO] [stderr]            162 |         let lexer = super::token::Tokenizer::new_with_trivia(str, trivia.clone());
[INFO] [stderr]                |                     ^^^^^^^^^^^^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stderr]                |
[INFO] [stderr]            help: the trait `Logos<'_>` is not implemented for `Token`
[INFO] [stderr]               --> src/token.rs:10:1
[INFO] [stderr]                |
[INFO] [stderr]             10 | pub enum Token {
[INFO] [stderr]                | ^^^^^^^^^^^^^^
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `Token: Logos<'_>` is not satisfied
[INFO] [stderr]               --> src/syntax/mod.rs:162:21
[INFO] [stderr]                |
[INFO] [stderr]            162 |         let lexer = super::token::Tokenizer::new_with_trivia(str, trivia.clone());
[INFO] [stderr]                |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stderr]                |
[INFO] [stderr]            help: the trait `Logos<'_>` is not implemented for `Token`
[INFO] [stderr]               --> src/token.rs:10:1
[INFO] [stderr]                |
[INFO] [stderr]             10 | pub enum Token {
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]    --> src/bindings/motoko.rs:116:25
[INFO] [stdout]     |
[INFO] [stdout] 116 |         (TypeInner::Vec(ref inner), Some(IDLType::VecT(syntax))) => pp_vec(inner, Some(syntax)),
[INFO] [stdout]     |                         ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]    --> src/bindings/motoko.rs:116:10
[INFO] [stdout]     |
[INFO] [stdout] 116 |         (TypeInner::Vec(ref inner), Some(IDLType::VecT(syntax))) => pp_vec(inner, Some(syntax)),
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]     |
[INFO] [stdout] 116 -         (TypeInner::Vec(ref inner), Some(IDLType::VecT(syntax))) => pp_vec(inner, Some(syntax)),
[INFO] [stdout] 116 +         (TypeInner::Vec(inner), Some(IDLType::VecT(syntax))) => pp_vec(inner, Some(syntax)),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]                | ^^^^^^^^^^^^^^
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]    --> src/bindings/motoko.rs:141:13
[INFO] [stdout]     |
[INFO] [stdout] 141 |         Var(ref s) => escape(s, false),
[INFO] [stdout]     |             ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]    --> src/bindings/motoko.rs:141:9
[INFO] [stdout]     |
[INFO] [stdout] 141 |         Var(ref s) => escape(s, false),
[INFO] [stdout]     |         ^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]     |
[INFO] [stdout] 141 -         Var(ref s) => escape(s, false),
[INFO] [stdout] 141 +         Var(s) => escape(s, false),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]            
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]    --> src/bindings/motoko.rs:143:13
[INFO] [stdout]     |
[INFO] [stdout] 143 |         Opt(ref t) => str("?").append(pp_ty(t)),
[INFO] [stdout]     |             ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]    --> src/bindings/motoko.rs:143:9
[INFO] [stdout]     |
[INFO] [stdout] 143 |         Opt(ref t) => str("?").append(pp_ty(t)),
[INFO] [stdout]     |         ^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]     |
[INFO] [stdout] 143 -         Opt(ref t) => str("?").append(pp_ty(t)),
[INFO] [stdout] 143 +         Opt(t) => str("?").append(pp_ty(t)),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]            
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]    --> src/bindings/motoko.rs:144:13
[INFO] [stdout]     |
[INFO] [stdout] 144 |         Vec(ref t) => pp_vec(t, None),
[INFO] [stdout]     |             ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]    --> src/bindings/motoko.rs:144:9
[INFO] [stdout]     |
[INFO] [stdout] 144 |         Vec(ref t) => pp_vec(t, None),
[INFO] [stdout]     |         ^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]     |
[INFO] [stdout] 144 -         Vec(ref t) => pp_vec(t, None),
[INFO] [stdout] 144 +         Vec(t) => pp_vec(t, None),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]            error[E0277]: the trait bound `Token: Logos<'_>` is not satisfied
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]    --> src/bindings/motoko.rs:145:16
[INFO] [stdout]     |
[INFO] [stdout] 145 |         Record(ref fs) => pp_record(fs, None),
[INFO] [stdout]     |                ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]    --> src/bindings/motoko.rs:145:9
[INFO] [stdout]     |
[INFO] [stdout] 145 |         Record(ref fs) => pp_record(fs, None),
[INFO] [stdout]     |         ^^^^^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]     |
[INFO] [stdout] 145 -         Record(ref fs) => pp_record(fs, None),
[INFO] [stdout] 145 +         Record(fs) => pp_record(fs, None),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]               --> src/syntax/mod.rs:163:12
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]    --> src/bindings/motoko.rs:146:17
[INFO] [stdout]     |
[INFO] [stdout] 146 |         Variant(ref fs) => pp_variant(fs, None),
[INFO] [stdout]     |                 ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]    --> src/bindings/motoko.rs:146:9
[INFO] [stdout]     |
[INFO] [stdout] 146 |         Variant(ref fs) => pp_variant(fs, None),
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]     |
[INFO] [stdout] 146 -         Variant(ref fs) => pp_variant(fs, None),
[INFO] [stdout] 146 +         Variant(fs) => pp_variant(fs, None),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]                |
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]    --> src/bindings/motoko.rs:147:14
[INFO] [stdout]     |
[INFO] [stdout] 147 |         Func(ref func) => pp_function(func),
[INFO] [stdout]     |              ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]    --> src/bindings/motoko.rs:147:9
[INFO] [stdout]     |
[INFO] [stdout] 147 |         Func(ref func) => pp_function(func),
[INFO] [stdout]     |         ^^^^^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]     |
[INFO] [stdout] 147 -         Func(ref func) => pp_function(func),
[INFO] [stdout] 147 +         Func(func) => pp_function(func),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]            163 |         Ok(super::grammar::IDLProgParser::new().parse(Some(&trivia), lexer)?)
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]    --> src/bindings/motoko.rs:148:17
[INFO] [stdout]     |
[INFO] [stdout] 148 |         Service(ref serv) => pp_service(serv, None),
[INFO] [stdout]     |                 ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]    --> src/bindings/motoko.rs:148:9
[INFO] [stdout]     |
[INFO] [stdout] 148 |         Service(ref serv) => pp_service(serv, None),
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]     |
[INFO] [stdout] 148 -         Service(ref serv) => pp_service(serv, None),
[INFO] [stdout] 148 +         Service(serv) => pp_service(serv, None),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]                |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]    --> src/bindings/motoko.rs:149:15
[INFO] [stdout]     |
[INFO] [stdout] 149 |         Class(ref args, ref t) => pp_class((args, t), None),
[INFO] [stdout]     |               ^^^       ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]     |               |
[INFO] [stdout]     |               explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]    --> src/bindings/motoko.rs:149:9
[INFO] [stdout]     |
[INFO] [stdout] 149 |         Class(ref args, ref t) => pp_class((args, t), None),
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout] help: remove the unnecessary binding modifiers
[INFO] [stdout]     |
[INFO] [stdout] 149 -         Class(ref args, ref t) => pp_class((args, t), None),
[INFO] [stdout] 149 +         Class(args, t) => pp_class((args, t), None),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]                |
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]    --> src/bindings/motoko.rs:313:28
[INFO] [stdout]     |
[INFO] [stdout] 313 |         TypeInner::Service(ref serv) => match syntax {
[INFO] [stdout]     |                            ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]    --> src/bindings/motoko.rs:313:9
[INFO] [stdout]     |
[INFO] [stdout] 313 |         TypeInner::Service(ref serv) => match syntax {
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]     |
[INFO] [stdout] 313 -         TypeInner::Service(ref serv) => match syntax {
[INFO] [stdout] 313 +         TypeInner::Service(serv) => match syntax {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]            help: the trait `Logos<'_>` is not implemented for `Token`
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]    --> src/bindings/motoko.rs:315:37
[INFO] [stdout]     |
[INFO] [stdout] 315 |                 typ: IDLType::ServT(ref fields),
[INFO] [stdout]     |                                     ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]    --> src/bindings/motoko.rs:314:18
[INFO] [stdout]     |
[INFO] [stdout] 314 |               Some(IDLActorType {
[INFO] [stdout]     |  __________________^
[INFO] [stdout] 315 | |                 typ: IDLType::ServT(ref fields),
[INFO] [stdout] 316 | |                 docs,
[INFO] [stdout] 317 | |             }) => {
[INFO] [stdout]     | |_____________^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]     |
[INFO] [stdout] 315 -                 typ: IDLType::ServT(ref fields),
[INFO] [stdout] 315 +                 typ: IDLType::ServT(fields),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]               --> src/token.rs:10:1
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]    --> src/bindings/motoko.rs:323:26
[INFO] [stdout]     |
[INFO] [stdout] 323 |         TypeInner::Class(ref args, ref t) => match syntax {
[INFO] [stdout]     |                          ^^^       ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]     |                          |
[INFO] [stdout]     |                          explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]    --> src/bindings/motoko.rs:323:9
[INFO] [stdout]     |
[INFO] [stdout] 323 |         TypeInner::Class(ref args, ref t) => match syntax {
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout] help: remove the unnecessary binding modifiers
[INFO] [stdout]     |
[INFO] [stdout] 323 -         TypeInner::Class(ref args, ref t) => match syntax {
[INFO] [stdout] 323 +         TypeInner::Class(args, t) => match syntax {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]                |
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]    --> src/bindings/rust.rs:262:21
[INFO] [stdout]     |
[INFO] [stdout] 262 |                 Var(ref id) => self.pp_var(id, is_ref),
[INFO] [stdout]     |                     ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]    --> src/bindings/rust.rs:262:17
[INFO] [stdout]     |
[INFO] [stdout] 262 |                 Var(ref id) => self.pp_var(id, is_ref),
[INFO] [stdout]     |                 ^^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]     |
[INFO] [stdout] 262 -                 Var(ref id) => self.pp_var(id, is_ref),
[INFO] [stdout] 262 +                 Var(id) => self.pp_var(id, is_ref),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]             10 | pub enum Token {
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]    --> src/bindings/rust.rs:264:21
[INFO] [stdout]     |
[INFO] [stdout] 264 |                 Opt(ref t) => self.pp_opt(t, is_ref),
[INFO] [stdout]     |                     ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]    --> src/bindings/rust.rs:264:17
[INFO] [stdout]     |
[INFO] [stdout] 264 |                 Opt(ref t) => self.pp_opt(t, is_ref),
[INFO] [stdout]     |                 ^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]     |
[INFO] [stdout] 264 -                 Opt(ref t) => self.pp_opt(t, is_ref),
[INFO] [stdout] 264 +                 Opt(t) => self.pp_opt(t, is_ref),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]                | ^^^^^^^^^^^^^^
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]    --> src/bindings/rust.rs:266:21
[INFO] [stdout]     |
[INFO] [stdout] 266 |                 Vec(ref t) if matches!(t.as_ref(), Nat8) => str("serde_bytes::ByteBuf"),
[INFO] [stdout]     |                     ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]    --> src/bindings/rust.rs:266:17
[INFO] [stdout]     |
[INFO] [stdout] 266 |                 Vec(ref t) if matches!(t.as_ref(), Nat8) => str("serde_bytes::ByteBuf"),
[INFO] [stdout]     |                 ^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]     |
[INFO] [stdout] 266 -                 Vec(ref t) if matches!(t.as_ref(), Nat8) => str("serde_bytes::ByteBuf"),
[INFO] [stdout] 266 +                 Vec(t) if matches!(t.as_ref(), Nat8) => str("serde_bytes::ByteBuf"),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]            
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]    --> src/bindings/rust.rs:267:21
[INFO] [stdout]     |
[INFO] [stdout] 267 |                 Vec(ref t) => self.pp_vec(t, is_ref),
[INFO] [stdout]     |                     ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]    --> src/bindings/rust.rs:267:17
[INFO] [stdout]     |
[INFO] [stdout] 267 |                 Vec(ref t) => self.pp_vec(t, is_ref),
[INFO] [stdout]     |                 ^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]     |
[INFO] [stdout] 267 -                 Vec(ref t) => self.pp_vec(t, is_ref),
[INFO] [stdout] 267 +                 Vec(t) => self.pp_vec(t, is_ref),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]            
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]    --> src/bindings/rust.rs:269:24
[INFO] [stdout]     |
[INFO] [stdout] 269 |                 Record(ref fs) => self.pp_record_fields(fs, None, false, is_ref),
[INFO] [stdout]     |                        ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]    --> src/bindings/rust.rs:269:17
[INFO] [stdout]     |
[INFO] [stdout] 269 |                 Record(ref fs) => self.pp_record_fields(fs, None, false, is_ref),
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]     |
[INFO] [stdout] 269 -                 Record(ref fs) => self.pp_record_fields(fs, None, false, is_ref),
[INFO] [stdout] 269 +                 Record(fs) => self.pp_record_fields(fs, None, false, is_ref),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]            error[E0277]: the trait bound `Token: Logos<'_>` is not satisfied
[INFO] [stderr]               --> src/syntax/mod.rs:177:21
[INFO] [stderr]                |
[INFO] [stderr]            177 |         let lexer = super::token::Tokenizer::new_with_trivia(str, trivia.clone());
[INFO] [stderr]                |                     ^^^^^^^^^^^^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stderr]                |
[INFO] [stderr]            help: the trait `Logos<'_>` is not implemented for `Token`
[INFO] [stderr]               --> src/token.rs:10:1
[INFO] [stderr]                |
[INFO] [stderr]             10 | pub enum Token {
[INFO] [stderr]                | ^^^^^^^^^^^^^^
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `Token: Logos<'_>` is not satisfied
[INFO] [stderr]               --> src/syntax/mod.rs:177:21
[INFO] [stderr]                |
[INFO] [stderr]            177 |         let lexer = super::token::Tokenizer::new_with_trivia(str, trivia.clone());
[INFO] [stderr]                |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stderr]                |
[INFO] [stderr]            help: the trait `Logos<'_>` is not implemented for `Token`
[INFO] [stderr]               --> src/token.rs:10:1
[INFO] [stderr]                |
[INFO] [stderr]             10 | pub enum Token {
[INFO] [stderr]                | ^^^^^^^^^^^^^^
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `Token: Logos<'_>` is not satisfied
[INFO] [stderr]               --> src/syntax/mod.rs:178:12
[INFO] [stderr]                |
[INFO] [stderr]            178 |         Ok(super::grammar::IDLInitArgsParser::new().parse(Some(&trivia), lexer)?)
[INFO] [stderr]                |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stderr]                |
[INFO] [stderr]            help: the trait `Logos<'_>` is not implemented for `Token`
[INFO] [stderr]               --> src/token.rs:10:1
[INFO] [stderr]                |
[INFO] [stderr]             10 | pub enum Token {
[INFO] [stderr]                | ^^^^^^^^^^^^^^
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: `Token` doesn't implement `Debug`
[INFO] [stderr]               --> src/token.rs:113:22
[INFO] [stderr]                |
[INFO] [stderr]            113 |         write!(fmt, "{self:?}")
[INFO] [stderr]                |                      ^^^^^^^^ `Token` cannot be formatted using `{:?}` because it doesn't implement `Debug`
[INFO] [stderr]                |
[INFO] [stderr]                = help: the trait `Debug` is not implemented for `Token`
[INFO] [stderr]                = note: required for `&Token` to implement `Debug`
[INFO] [stderr]            help: consider annotating `Token` with `#[derive(Debug)]`
[INFO] [stderr]                |
[INFO] [stderr]             10 + #[derive(Debug)]
[INFO] [stderr]             11 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0599]: the method `slice` exists for mutable reference `&mut logos::Lexer<'_, Token>`, but its trait bounds were not satisfied
[INFO] [stderr]               --> src/token.rs:118:20
[INFO] [stderr]                |
[INFO] [stderr]             10 | pub enum Token {
[INFO] [stderr]                | -------------- doesn't satisfy `Token: Logos<'_>`
[INFO] [stderr]            ...
[INFO] [stderr]            118 |     let iter = lex.slice().chars().filter(|c| *c != '_');
[INFO] [stderr]                |                    ^^^^^ method cannot be called on `&mut logos::Lexer<'_, Token>` due to unsatisfied trait bounds
[INFO] [stderr]                |
[INFO] [stderr]                = note: the following trait bounds were not satisfied:
[INFO] [stderr]                        `Token: Logos<'_>`
[INFO] [stderr]            note: the trait `Logos` must be implemented
[INFO] [stderr]               --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/logos-0.14.0/src/lib.rs:44:1
[INFO] [stderr]                |
[INFO] [stderr]             44 | pub trait Logos<'source>: Sized {
[INFO] [stderr]                | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0599]: the method `slice` exists for mutable reference `&mut logos::Lexer<'_, Token>`, but its trait bounds were not satisfied
[INFO] [stderr]               --> src/token.rs:119:12
[INFO] [stderr]                |
[INFO] [stderr]             10 | pub enum Token {
[INFO] [stderr]                | -------------- doesn't satisfy `Token: Logos<'_>`
[INFO] [stderr]            ...
[INFO] [stderr]            119 |     if lex.slice().starts_with("0x") {
[INFO] [stderr]                |            ^^^^^ method cannot be called on `&mut logos::Lexer<'_, Token>` due to unsatisfied trait bounds
[INFO] [stderr]                |
[INFO] [stderr]                = note: the following trait bounds were not satisfied:
[INFO] [stderr]                        `Token: Logos<'_>`
[INFO] [stderr]            note: the trait `Logos` must be implemented
[INFO] [stderr]               --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/logos-0.14.0/src/lib.rs:44:1
[INFO] [stderr]                |
[INFO] [stderr]             44 | pub trait Logos<'source>: Sized {
[INFO] [stderr]                | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0599]: the method `slice` exists for reference `&logos::Lexer<'_, Token>`, but its trait bounds were not satisfied
[INFO] [stderr]               --> src/token.rs:127:9
[INFO] [stderr]                |
[INFO] [stderr]             10 | pub enum Token {
[INFO] [stderr]                | -------------- doesn't satisfy `Token: Logos<'_>`
[INFO] [stderr]            ...
[INFO] [stderr]            127 |     lex.slice()
[INFO] [stderr]                |         ^^^^^ method cannot be called on `&logos::Lexer<'_, Token>` due to unsatisfied trait bounds
[INFO] [stderr]                |
[INFO] [stderr]                = note: the following trait bounds were not satisfied:
[INFO] [stderr]                        `Token: Logos<'_>`
[INFO] [stderr]            note: the trait `Logos` must be implemented
[INFO] [stderr]               --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/logos-0.14.0/src/lib.rs:44:1
[INFO] [stderr]                |
[INFO] [stderr]             44 | pub trait Logos<'source>: Sized {
[INFO] [stderr]                | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0599]: no variant, associated function, or constant named `lexer` found for enum `Token` in the current scope
[INFO] [stderr]               --> src/token.rs:145:26
[INFO] [stderr]                |
[INFO] [stderr]             10 | pub enum Token {
[INFO] [stderr]                | -------------- variant, associated function, or constant `lexer` not found for this enum
[INFO] [stderr]            ...
[INFO] [stderr]            145 |         let lex = Token::lexer(input);
[INFO] [stderr]                |                          ^^^^^ variant, associated function, or constant not found in `Token`
[INFO] [stderr]                |
[INFO] [stderr]                = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stderr]                = note: the following trait defines an item `lexer`, perhaps you need to implement it:
[INFO] [stderr]                        candidate #1: `Logos`
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `Token: Logos<'_>` is not satisfied
[INFO] [stderr]               --> src/token.rs:146:9
[INFO] [stderr]                |
[INFO] [stderr]            146 |         Tokenizer {
[INFO] [stderr]                |         ^^^^^^^^^ unsatisfied trait bound
[INFO] [stderr]                |
[INFO] [stderr]            help: the trait `Logos<'_>` is not implemented for `Token`
[INFO] [stderr]               --> src/token.rs:10:1
[INFO] [stderr]                |
[INFO] [stderr]             10 | pub enum Token {
[INFO] [stderr]                | ^^^^^^^^^^^^^^
[INFO] [stderr]            help: the following other types implement trait `Logos<'source>`
[INFO] [stderr]               --> src/token.rs:88:10
[INFO] [stderr]                |
[INFO] [stderr]             88 | #[derive(Logos, Debug, Clone, PartialEq, Eq)]
[INFO] [stderr]                |          ^^^^^ `token::Comment`
[INFO] [stderr]            ...
[INFO] [stderr]             96 | #[derive(Logos, Debug, Clone, PartialEq, Eq)]
[INFO] [stderr]                |          ^^^^^ `token::Text`
[INFO] [stderr]                = note: this error originates in the derive macro `Logos` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0599]: no variant, associated function, or constant named `lexer` found for enum `Token` in the current scope
[INFO] [stderr]               --> src/token.rs:156:26
[INFO] [stderr]                |
[INFO] [stderr]             10 | pub enum Token {
[INFO] [stderr]                | -------------- variant, associated function, or constant `lexer` not found for this enum
[INFO] [stderr]            ...
[INFO] [stderr]            156 |         let lex = Token::lexer(input);
[INFO] [stderr]                |                          ^^^^^ variant, associated function, or constant not found in `Token`
[INFO] [stderr]                |
[INFO] [stderr]                = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stderr]                = note: the following trait defines an item `lexer`, perhaps you need to implement it:
[INFO] [stderr]                        candidate #1: `Logos`
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `Token: Logos<'_>` is not satisfied
[INFO] [stderr]               --> src/token.rs:157:9
[INFO] [stderr]                |
[INFO] [stderr]            157 |         Tokenizer {
[INFO] [stderr]                |         ^^^^^^^^^ unsatisfied trait bound
[INFO] [stderr]                |
[INFO] [stderr]            help: the trait `Logos<'_>` is not implemented for `Token`
[INFO] [stderr]               --> src/token.rs:10:1
[INFO] [stderr]                |
[INFO] [stderr]             10 | pub enum Token {
[INFO] [stderr]                | ^^^^^^^^^^^^^^
[INFO] [stderr]            help: the following other types implement trait `Logos<'source>`
[INFO] [stderr]               --> src/token.rs:88:10
[INFO] [stderr]                |
[INFO] [stderr]             88 | #[derive(Logos, Debug, Clone, PartialEq, Eq)]
[INFO] [stderr]                |          ^^^^^ `token::Comment`
[INFO] [stderr]            ...
[INFO] [stderr]             96 | #[derive(Logos, Debug, Clone, PartialEq, Eq)]
[INFO] [stderr]                |          ^^^^^ `token::Text`
[INFO] [stderr]                = note: this error originates in the derive macro `Logos` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0599]: the method `source` exists for struct `logos::Lexer<'input, Token>`, but its trait bounds were not satisfied
[INFO] [stderr]               --> src/token.rs:168:31
[INFO] [stderr]                |
[INFO] [stderr]             10 | pub enum Token {
[INFO] [stderr]                | -------------- doesn't satisfy `Token: Logos<'_>`
[INFO] [stderr]            ...
[INFO] [stderr]            168 |         let source = self.lex.source();
[INFO] [stderr]                |                               ^^^^^^ private field, not a method
[INFO] [stderr]                |
[INFO] [stderr]                = note: the following trait bounds were not satisfied:
[INFO] [stderr]                        `Token: Logos<'_>`
[INFO] [stderr]            note: the trait `Logos` must be implemented
[INFO] [stderr]               --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/logos-0.14.0/src/lib.rs:44:1
[INFO] [stderr]                |
[INFO] [stderr]             44 | pub trait Logos<'source>: Sized {
[INFO] [stderr]                | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]            
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]    --> src/bindings/rust.rs:270:25
[INFO] [stdout]     |
[INFO] [stdout] 270 |                 Variant(ref fs) => self.pp_variant(fs, is_ref),
[INFO] [stdout]     |                         ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]    --> src/bindings/rust.rs:270:17
[INFO] [stdout]     |
[INFO] [stdout] 270 |                 Variant(ref fs) => self.pp_variant(fs, is_ref),
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]     |
[INFO] [stdout] 270 -                 Variant(ref fs) => self.pp_variant(fs, is_ref),
[INFO] [stdout] 270 +                 Variant(fs) => self.pp_variant(fs, is_ref),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `Token: Logos<'_>` is not satisfied
[INFO] [stderr]               --> src/token.rs:180:29
[INFO] [stderr]                |
[INFO] [stderr]            180 |             .map(|end| self.count_newlines_between(end, token_start) >= 2)
[INFO] [stderr]                |                             ^^^^^^^^^^^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stderr]                |
[INFO] [stderr]            help: the trait `Logos<'_>` is not implemented for `Token`
[INFO] [stderr]               --> src/token.rs:10:1
[INFO] [stderr]                |
[INFO] [stderr]             10 | pub enum Token {
[INFO] [stderr]                | ^^^^^^^^^^^^^^
[INFO] [stderr]            help: the following other types implement trait `Logos<'source>`
[INFO] [stderr]               --> src/token.rs:88:10
[INFO] [stderr]                |
[INFO] [stderr]             88 | #[derive(Logos, Debug, Clone, PartialEq, Eq)]
[INFO] [stderr]                |          ^^^^^ `token::Comment`
[INFO] [stderr]            ...
[INFO] [stderr]             96 | #[derive(Logos, Debug, Clone, PartialEq, Eq)]
[INFO] [stderr]                |          ^^^^^ `token::Text`
[INFO] [stderr]                = note: this error originates in the derive macro `Logos` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0599]: the method `source` exists for struct `logos::Lexer<'input, Token>`, but its trait bounds were not satisfied
[INFO] [stderr]               --> src/token.rs:193:31
[INFO] [stderr]                |
[INFO] [stderr]             10 | pub enum Token {
[INFO] [stderr]                | -------------- doesn't satisfy `Token: Logos<'_>`
[INFO] [stderr]            ...
[INFO] [stderr]            193 |         let source = self.lex.source();
[INFO] [stderr]                |                               ^^^^^^ private field, not a method
[INFO] [stderr]                |
[INFO] [stderr]                = note: the following trait bounds were not satisfied:
[INFO] [stderr]                        `Token: Logos<'_>`
[INFO] [stderr]            note: the trait `Logos` must be implemented
[INFO] [stderr]               --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/logos-0.14.0/src/lib.rs:44:1
[INFO] [stderr]                |
[INFO] [stderr]             44 | pub trait Logos<'source>: Sized {
[INFO] [stderr]                | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0599]: the method `next` exists for struct `logos::Lexer<'_, Token>`, but its trait bounds were not satisfied
[INFO] [stderr]               --> src/token.rs:241:30
[INFO] [stderr]                |
[INFO] [stderr]             10 | pub enum Token {
[INFO] [stderr]                | -------------- doesn't satisfy `Token: Logos<'_>`
[INFO] [stderr]            ...
[INFO] [stderr]            241 |         let token = self.lex.next()?;
[INFO] [stderr]                |                              ^^^^ method cannot be called on `logos::Lexer<'_, Token>` due to unsatisfied trait bounds
[INFO] [stderr]                |
[INFO] [stderr]               ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/logos-0.14.0/src/lexer.rs:14:1
[INFO] [stderr]                |
[INFO] [stderr]             14 | pub struct Lexer<'source, Token: Logos<'source>> {
[INFO] [stderr]                | ------------------------------------------------ doesn't satisfy `logos::Lexer<'_, Token>: Iterator`
[INFO] [stderr]                |
[INFO] [stderr]                = note: the following trait bounds were not satisfied:
[INFO] [stderr]                        `Token: Logos<'_>`
[INFO] [stderr]                        which is required by `logos::Lexer<'_, Token>: Iterator`
[INFO] [stderr]            note: the trait `Logos` must be implemented
[INFO] [stderr]               --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/logos-0.14.0/src/lib.rs:44:1
[INFO] [stderr]                |
[INFO] [stderr]             44 | pub trait Logos<'source>: Sized {
[INFO] [stderr]                | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0599]: the method `span` exists for struct `logos::Lexer<'_, Token>`, but its trait bounds were not satisfied
[INFO] [stderr]               --> src/token.rs:242:29
[INFO] [stderr]                |
[INFO] [stderr]             10 | pub enum Token {
[INFO] [stderr]                | -------------- doesn't satisfy `Token: Logos<'_>`
[INFO] [stderr]            ...
[INFO] [stderr]            242 |         let span = self.lex.span();
[INFO] [stderr]                |                             ^^^^ method cannot be called on `logos::Lexer<'_, Token>` due to unsatisfied trait bounds
[INFO] [stderr]                |
[INFO] [stderr]                = note: the following trait bounds were not satisfied:
[INFO] [stderr]                        `Token: Logos<'_>`
[INFO] [stderr]            note: the trait `Logos` must be implemented
[INFO] [stderr]               --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/logos-0.14.0/src/lib.rs:44:1
[INFO] [stderr]                |
[INFO] [stderr]             44 | pub trait Logos<'source>: Sized {
[INFO] [stderr]                | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0599]: the method `slice` exists for struct `logos::Lexer<'_, Token>`, but its trait bounds were not satisfied
[INFO] [stderr]               --> src/token.rs:245:64
[INFO] [stderr]                |
[INFO] [stderr]             10 | pub enum Token {
[INFO] [stderr]                | -------------- doesn't satisfy `Token: Logos<'_>`
[INFO] [stderr]            ...
[INFO] [stderr]            245 |                 let err = format!("Unknown token {}", self.lex.slice());
[INFO] [stderr]                |                                                                ^^^^^ method cannot be called on `logos::Lexer<'_, Token>` due to unsatisfied trait bounds
[INFO] [stderr]                |
[INFO] [stderr]                = note: the following trait bounds were not satisfied:
[INFO] [stderr]                        `Token: Logos<'_>`
[INFO] [stderr]            note: the trait `Logos` must be implemented
[INFO] [stderr]               --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/logos-0.14.0/src/lib.rs:44:1
[INFO] [stderr]                |
[INFO] [stderr]             44 | pub trait Logos<'source>: Sized {
[INFO] [stderr]                | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `Token: Logos<'_>` is not satisfied
[INFO] [stderr]               --> src/token.rs:249:51
[INFO] [stderr]                |
[INFO] [stderr]            249 |                 if self.trivia.is_some() && !self.is_inline_comment(span.start) {
[INFO] [stderr]                |                                                   ^^^^^^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stderr]                |
[INFO] [stderr]            help: the trait `Logos<'_>` is not implemented for `Token`
[INFO] [stderr]               --> src/token.rs:10:1
[INFO] [stderr]                |
[INFO] [stderr]             10 | pub enum Token {
[INFO] [stderr]                | ^^^^^^^^^^^^^^
[INFO] [stderr]            help: the following other types implement trait `Logos<'source>`
[INFO] [stderr]               --> src/token.rs:88:10
[INFO] [stderr]                |
[INFO] [stderr]             88 | #[derive(Logos, Debug, Clone, PartialEq, Eq)]
[INFO] [stderr]                |          ^^^^^ `token::Comment`
[INFO] [stderr]            ...
[INFO] [stderr]             96 | #[derive(Logos, Debug, Clone, PartialEq, Eq)]
[INFO] [stderr]                |          ^^^^^ `token::Text`
[INFO] [stderr]                = note: this error originates in the derive macro `Logos` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `Token: Logos<'_>` is not satisfied
[INFO] [stderr]               --> src/token.rs:250:29
[INFO] [stderr]                |
[INFO] [stderr]            250 |                     if self.has_blank_line_before_token(span.start) {
[INFO] [stderr]                |                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stderr]                |
[INFO] [stderr]            help: the trait `Logos<'_>` is not implemented for `Token`
[INFO] [stderr]               --> src/token.rs:10:1
[INFO] [stderr]                |
[INFO] [stderr]             10 | pub enum Token {
[INFO] [stderr]                | ^^^^^^^^^^^^^^
[INFO] [stderr]            help: the following other types implement trait `Logos<'source>`
[INFO] [stderr]               --> src/token.rs:88:10
[INFO] [stderr]                |
[INFO] [stderr]             88 | #[derive(Logos, Debug, Clone, PartialEq, Eq)]
[INFO] [stderr]                |          ^^^^^ `token::Comment`
[INFO] [stderr]            ...
[INFO] [stderr]             96 | #[derive(Logos, Debug, Clone, PartialEq, Eq)]
[INFO] [stderr]                |          ^^^^^ `token::Text`
[INFO] [stderr]                = note: this error originates in the derive macro `Logos` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `Token: Logos<'_>` is not satisfied
[INFO] [stderr]               --> src/token.rs:253:64
[INFO] [stderr]                |
[INFO] [stderr]            253 |                     self.comment_buffer.push(parse_doc_comment(&self.lex));
[INFO] [stderr]                |                                                                ^^^^^^^^^ unsatisfied trait bound
[INFO] [stderr]                |
[INFO] [stderr]            help: the trait `Logos<'_>` is not implemented for `Token`
[INFO] [stderr]               --> src/token.rs:10:1
[INFO] [stderr]                |
[INFO] [stderr]             10 | pub enum Token {
[INFO] [stderr]                | ^^^^^^^^^^^^^^
[INFO] [stderr]            help: the following other types implement trait `Logos<'source>`
[INFO] [stderr]               --> src/token.rs:88:10
[INFO] [stderr]                |
[INFO] [stderr]             88 | #[derive(Logos, Debug, Clone, PartialEq, Eq)]
[INFO] [stderr]                |          ^^^^^ `token::Comment`
[INFO] [stderr]            ...
[INFO] [stderr]             96 | #[derive(Logos, Debug, Clone, PartialEq, Eq)]
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]    --> src/bindings/rust.rs:605:33
[INFO] [stdout]     |
[INFO] [stdout] 605 |                 TypeInner::Func(ref f) => enclose("candid::func!(", self.pp_ty_func(f), ")"),
[INFO] [stdout]     |                                 ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]    --> src/bindings/rust.rs:605:17
[INFO] [stdout]     |
[INFO] [stdout] 605 |                 TypeInner::Func(ref f) => enclose("candid::func!(", self.pp_ty_func(f), ")"),
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]     |
[INFO] [stdout] 605 -                 TypeInner::Func(ref f) => enclose("candid::func!(", self.pp_ty_func(f), ")"),
[INFO] [stdout] 605 +                 TypeInner::Func(f) => enclose("candid::func!(", self.pp_ty_func(f), ")"),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]                |          ^^^^^ `token::Text`
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]   --> src/bindings/typescript.rs:33:28
[INFO] [stdout]    |
[INFO] [stdout] 33 |         (TypeInner::Record(ref fields), Some(IDLType::RecordT(syntax_fields))) => {
[INFO] [stdout]    |                            ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]    |
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]   --> src/bindings/typescript.rs:33:10
[INFO] [stdout]    |
[INFO] [stdout] 33 |         (TypeInner::Record(ref fields), Some(IDLType::RecordT(syntax_fields))) => {
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout]    = warning: this changes meaning in Rust 2024
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]    |
[INFO] [stdout] 33 -         (TypeInner::Record(ref fields), Some(IDLType::RecordT(syntax_fields))) => {
[INFO] [stdout] 33 +         (TypeInner::Record(fields), Some(IDLType::RecordT(syntax_fields))) => {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]            note: required by a bound in `logos::Lexer`
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]   --> src/bindings/typescript.rs:36:29
[INFO] [stdout]    |
[INFO] [stdout] 36 |         (TypeInner::Variant(ref fields), Some(IDLType::VariantT(syntax_fields))) => {
[INFO] [stdout]    |                             ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]    |
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]   --> src/bindings/typescript.rs:36:10
[INFO] [stdout]    |
[INFO] [stdout] 36 |         (TypeInner::Variant(ref fields), Some(IDLType::VariantT(syntax_fields))) => {
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout]    = warning: this changes meaning in Rust 2024
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]    |
[INFO] [stdout] 36 -         (TypeInner::Variant(ref fields), Some(IDLType::VariantT(syntax_fields))) => {
[INFO] [stdout] 36 +         (TypeInner::Variant(fields), Some(IDLType::VariantT(syntax_fields))) => {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]               --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/logos-0.14.0/src/lexer.rs:14:34
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]   --> src/bindings/typescript.rs:39:29
[INFO] [stdout]    |
[INFO] [stdout] 39 |         (TypeInner::Service(ref serv), Some(IDLType::ServT(syntax_serv))) => {
[INFO] [stdout]    |                             ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]    |
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]   --> src/bindings/typescript.rs:39:10
[INFO] [stdout]    |
[INFO] [stdout] 39 |         (TypeInner::Service(ref serv), Some(IDLType::ServT(syntax_serv))) => {
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout]    = warning: this changes meaning in Rust 2024
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]    |
[INFO] [stdout] 39 -         (TypeInner::Service(ref serv), Some(IDLType::ServT(syntax_serv))) => {
[INFO] [stdout] 39 +         (TypeInner::Service(serv), Some(IDLType::ServT(syntax_serv))) => {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]                |
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]   --> src/bindings/typescript.rs:42:25
[INFO] [stdout]    |
[INFO] [stdout] 42 |         (TypeInner::Opt(ref t), Some(IDLType::OptT(syntax_inner))) => {
[INFO] [stdout]    |                         ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]    |
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]   --> src/bindings/typescript.rs:42:10
[INFO] [stdout]    |
[INFO] [stdout] 42 |         (TypeInner::Opt(ref t), Some(IDLType::OptT(syntax_inner))) => {
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout]    = warning: this changes meaning in Rust 2024
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]    |
[INFO] [stdout] 42 -         (TypeInner::Opt(ref t), Some(IDLType::OptT(syntax_inner))) => {
[INFO] [stdout] 42 +         (TypeInner::Opt(t), Some(IDLType::OptT(syntax_inner))) => {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]             14 | pub struct Lexer<'source, Token: Logos<'source>> {
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]   --> src/bindings/typescript.rs:45:25
[INFO] [stdout]    |
[INFO] [stdout] 45 |         (TypeInner::Vec(ref t), Some(IDLType::VecT(syntax_inner))) => {
[INFO] [stdout]    |                         ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]    |
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]   --> src/bindings/typescript.rs:45:10
[INFO] [stdout]    |
[INFO] [stdout] 45 |         (TypeInner::Vec(ref t), Some(IDLType::VecT(syntax_inner))) => {
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout]    = warning: this changes meaning in Rust 2024
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]    |
[INFO] [stdout] 45 -         (TypeInner::Vec(ref t), Some(IDLType::VecT(syntax_inner))) => {
[INFO] [stdout] 45 +         (TypeInner::Vec(t), Some(IDLType::VecT(syntax_inner))) => {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]                |                                  ^^^^^^^^^^^^^^ required by this bound in `Lexer`
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]   --> src/bindings/typescript.rs:72:13
[INFO] [stdout]    |
[INFO] [stdout] 72 |         Var(ref id) => {
[INFO] [stdout]    |             ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]    |
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]   --> src/bindings/typescript.rs:72:9
[INFO] [stdout]    |
[INFO] [stdout] 72 |         Var(ref id) => {
[INFO] [stdout]    |         ^^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout]    = warning: this changes meaning in Rust 2024
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]    |
[INFO] [stdout] 72 -         Var(ref id) => {
[INFO] [stdout] 72 +         Var(id) => {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]                = note: this error originates in the derive macro `Logos` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]   --> src/bindings/typescript.rs:83:13
[INFO] [stdout]    |
[INFO] [stdout] 83 |         Opt(ref t) => pp_opt(env, t, None, is_ref),
[INFO] [stdout]    |             ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]    |
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]   --> src/bindings/typescript.rs:83:9
[INFO] [stdout]    |
[INFO] [stdout] 83 |         Opt(ref t) => pp_opt(env, t, None, is_ref),
[INFO] [stdout]    |         ^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout]    = warning: this changes meaning in Rust 2024
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]    |
[INFO] [stdout] 83 -         Opt(ref t) => pp_opt(env, t, None, is_ref),
[INFO] [stdout] 83 +         Opt(t) => pp_opt(env, t, None, is_ref),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]            
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]   --> src/bindings/typescript.rs:84:13
[INFO] [stdout]    |
[INFO] [stdout] 84 |         Vec(ref t) => pp_vec(env, t, None, is_ref),
[INFO] [stdout]    |             ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]    |
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]   --> src/bindings/typescript.rs:84:9
[INFO] [stdout]    |
[INFO] [stdout] 84 |         Vec(ref t) => pp_vec(env, t, None, is_ref),
[INFO] [stdout]    |         ^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout]    = warning: this changes meaning in Rust 2024
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]    |
[INFO] [stdout] 84 -         Vec(ref t) => pp_vec(env, t, None, is_ref),
[INFO] [stdout] 84 +         Vec(t) => pp_vec(env, t, None, is_ref),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]            
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]   --> src/bindings/typescript.rs:85:16
[INFO] [stdout]    |
[INFO] [stdout] 85 |         Record(ref fs) => pp_record(env, fs, None, is_ref),
[INFO] [stdout]    |                ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]    |
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]   --> src/bindings/typescript.rs:85:9
[INFO] [stdout]    |
[INFO] [stdout] 85 |         Record(ref fs) => pp_record(env, fs, None, is_ref),
[INFO] [stdout]    |         ^^^^^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout]    = warning: this changes meaning in Rust 2024
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]    |
[INFO] [stdout] 85 -         Record(ref fs) => pp_record(env, fs, None, is_ref),
[INFO] [stdout] 85 +         Record(fs) => pp_record(env, fs, None, is_ref),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]            error[E0277]: the trait bound `Token: Logos<'_>` is not satisfied
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]   --> src/bindings/typescript.rs:86:17
[INFO] [stdout]    |
[INFO] [stdout] 86 |         Variant(ref fs) => pp_variant(env, fs, None, is_ref),
[INFO] [stdout]    |                 ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]    |
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]   --> src/bindings/typescript.rs:86:9
[INFO] [stdout]    |
[INFO] [stdout] 86 |         Variant(ref fs) => pp_variant(env, fs, None, is_ref),
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout]    = warning: this changes meaning in Rust 2024
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]    |
[INFO] [stdout] 86 -         Variant(ref fs) => pp_variant(env, fs, None, is_ref),
[INFO] [stdout] 86 +         Variant(fs) => pp_variant(env, fs, None, is_ref),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]               --> src/token.rs:256:17
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]    --> src/bindings/typescript.rs:120:13
[INFO] [stdout]     |
[INFO] [stdout] 120 |         Var(ref id) => {
[INFO] [stdout]     |             ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]    --> src/bindings/typescript.rs:120:9
[INFO] [stdout]     |
[INFO] [stdout] 120 |         Var(ref id) => {
[INFO] [stdout]     |         ^^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]     |
[INFO] [stdout] 120 -         Var(ref id) => {
[INFO] [stdout] 120 +         Var(id) => {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]                |
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]    --> src/bindings/typescript.rs:240:29
[INFO] [stdout]     |
[INFO] [stdout] 240 |             TypeInner::Func(ref func) => pp_function(env, func),
[INFO] [stdout]     |                             ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]    --> src/bindings/typescript.rs:240:13
[INFO] [stdout]     |
[INFO] [stdout] 240 |             TypeInner::Func(ref func) => pp_function(env, func),
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]     |
[INFO] [stdout] 240 -             TypeInner::Func(ref func) => pp_function(env, func),
[INFO] [stdout] 240 +             TypeInner::Func(func) => pp_function(env, func),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]            256 |                 self.next()
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]    --> src/bindings/typescript.rs:241:28
[INFO] [stdout]     |
[INFO] [stdout] 241 |             TypeInner::Var(ref id) => ident(id),
[INFO] [stdout]     |                            ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]    --> src/bindings/typescript.rs:241:13
[INFO] [stdout]     |
[INFO] [stdout] 241 |             TypeInner::Var(ref id) => ident(id),
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]     |
[INFO] [stdout] 241 -             TypeInner::Var(ref id) => ident(id),
[INFO] [stdout] 241 +             TypeInner::Var(id) => ident(id),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]                |                 ^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]    --> src/bindings/typescript.rs:287:29
[INFO] [stdout]     |
[INFO] [stdout] 287 |             TypeInner::Func(ref func) => kwd("export type")
[INFO] [stdout]     |                             ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]    --> src/bindings/typescript.rs:287:13
[INFO] [stdout]     |
[INFO] [stdout] 287 |             TypeInner::Func(ref func) => kwd("export type")
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]     |
[INFO] [stdout] 287 -             TypeInner::Func(ref func) => kwd("export type")
[INFO] [stdout] 287 +             TypeInner::Func(func) => kwd("export type")
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]                |
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]    --> src/bindings/typescript.rs:292:28
[INFO] [stdout]     |
[INFO] [stdout] 292 |             TypeInner::Var(ref inner_id) => kwd("export type")
[INFO] [stdout]     |                            ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]    --> src/bindings/typescript.rs:292:13
[INFO] [stdout]     |
[INFO] [stdout] 292 |             TypeInner::Var(ref inner_id) => kwd("export type")
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]     |
[INFO] [stdout] 292 -             TypeInner::Var(ref inner_id) => kwd("export type")
[INFO] [stdout] 292 +             TypeInner::Var(inner_id) => kwd("export type")
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]            help: the trait `Logos<'_>` is not implemented for `Token`
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]   --> src/syntax/pretty.rs:31:14
[INFO] [stdout]    |
[INFO] [stdout] 31 |         VarT(ref s) => str(s),
[INFO] [stdout]    |              ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]    |
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]   --> src/syntax/pretty.rs:31:9
[INFO] [stdout]    |
[INFO] [stdout] 31 |         VarT(ref s) => str(s),
[INFO] [stdout]    |         ^^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout]    = warning: this changes meaning in Rust 2024
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]    |
[INFO] [stdout] 31 -         VarT(ref s) => str(s),
[INFO] [stdout] 31 +         VarT(s) => str(s),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]               --> src/token.rs:10:1
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]   --> src/syntax/pretty.rs:33:14
[INFO] [stdout]    |
[INFO] [stdout] 33 |         OptT(ref t) => pp_opt(t),
[INFO] [stdout]    |              ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]    |
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]   --> src/syntax/pretty.rs:33:9
[INFO] [stdout]    |
[INFO] [stdout] 33 |         OptT(ref t) => pp_opt(t),
[INFO] [stdout]    |         ^^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout]    = warning: this changes meaning in Rust 2024
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]    |
[INFO] [stdout] 33 -         OptT(ref t) => pp_opt(t),
[INFO] [stdout] 33 +         OptT(t) => pp_opt(t),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]                |
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]   --> src/syntax/pretty.rs:34:14
[INFO] [stdout]    |
[INFO] [stdout] 34 |         VecT(ref t) => pp_vec(t),
[INFO] [stdout]    |              ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]    |
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]   --> src/syntax/pretty.rs:34:9
[INFO] [stdout]    |
[INFO] [stdout] 34 |         VecT(ref t) => pp_vec(t),
[INFO] [stdout]    |         ^^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout]    = warning: this changes meaning in Rust 2024
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]    |
[INFO] [stdout] 34 -         VecT(ref t) => pp_vec(t),
[INFO] [stdout] 34 +         VecT(t) => pp_vec(t),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]             10 | pub enum Token {
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]   --> src/syntax/pretty.rs:35:17
[INFO] [stdout]    |
[INFO] [stdout] 35 |         RecordT(ref fs) => pp_record(fs, ty.is_tuple()),
[INFO] [stdout]    |                 ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]    |
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]   --> src/syntax/pretty.rs:35:9
[INFO] [stdout]    |
[INFO] [stdout] 35 |         RecordT(ref fs) => pp_record(fs, ty.is_tuple()),
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout]    = warning: this changes meaning in Rust 2024
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]    |
[INFO] [stdout] 35 -         RecordT(ref fs) => pp_record(fs, ty.is_tuple()),
[INFO] [stdout] 35 +         RecordT(fs) => pp_record(fs, ty.is_tuple()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]                | ^^^^^^^^^^^^^^
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]   --> src/syntax/pretty.rs:36:18
[INFO] [stdout]    |
[INFO] [stdout] 36 |         VariantT(ref fs) => pp_variant(fs),
[INFO] [stdout]    |                  ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]    |
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]   --> src/syntax/pretty.rs:36:9
[INFO] [stdout]    |
[INFO] [stdout] 36 |         VariantT(ref fs) => pp_variant(fs),
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout]    = warning: this changes meaning in Rust 2024
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]    |
[INFO] [stdout] 36 -         VariantT(ref fs) => pp_variant(fs),
[INFO] [stdout] 36 +         VariantT(fs) => pp_variant(fs),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]            help: the following other types implement trait `Logos<'source>`
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]   --> src/syntax/pretty.rs:37:15
[INFO] [stdout]    |
[INFO] [stdout] 37 |         FuncT(ref func) => pp_function(func),
[INFO] [stdout]    |               ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]    |
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]   --> src/syntax/pretty.rs:37:9
[INFO] [stdout]    |
[INFO] [stdout] 37 |         FuncT(ref func) => pp_function(func),
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout]    = warning: this changes meaning in Rust 2024
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]    |
[INFO] [stdout] 37 -         FuncT(ref func) => pp_function(func),
[INFO] [stdout] 37 +         FuncT(func) => pp_function(func),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]               --> src/token.rs:88:10
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]   --> src/syntax/pretty.rs:38:15
[INFO] [stdout]    |
[INFO] [stdout] 38 |         ServT(ref serv) => pp_service(serv),
[INFO] [stdout]    |               ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]    |
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]   --> src/syntax/pretty.rs:38:9
[INFO] [stdout]    |
[INFO] [stdout] 38 |         ServT(ref serv) => pp_service(serv),
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout]    = warning: this changes meaning in Rust 2024
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]    |
[INFO] [stdout] 38 -         ServT(ref serv) => pp_service(serv),
[INFO] [stdout] 38 +         ServT(serv) => pp_service(serv),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]                |
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]   --> src/syntax/pretty.rs:39:16
[INFO] [stdout]    |
[INFO] [stdout] 39 |         ClassT(ref args, ref t) => pp_class(args, t),
[INFO] [stdout]    |                ^^^       ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]    |                |
[INFO] [stdout]    |                explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]    |
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]   --> src/syntax/pretty.rs:39:9
[INFO] [stdout]    |
[INFO] [stdout] 39 |         ClassT(ref args, ref t) => pp_class(args, t),
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout]    = warning: this changes meaning in Rust 2024
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout] help: remove the unnecessary binding modifiers
[INFO] [stdout]    |
[INFO] [stdout] 39 -         ClassT(ref args, ref t) => pp_class(args, t),
[INFO] [stdout] 39 +         ClassT(args, t) => pp_class(args, t),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]             88 | #[derive(Logos, Debug, Clone, PartialEq, Eq)]
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]    --> src/syntax/pretty.rs:129:24
[INFO] [stdout]     |
[INFO] [stdout] 129 |         IDLType::ServT(ref serv) => doc.append(pp_service_methods(serv)),
[INFO] [stdout]     |                        ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]    --> src/syntax/pretty.rs:129:9
[INFO] [stdout]     |
[INFO] [stdout] 129 |         IDLType::ServT(ref serv) => doc.append(pp_service_methods(serv)),
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]     |
[INFO] [stdout] 129 -         IDLType::ServT(ref serv) => doc.append(pp_service_methods(serv)),
[INFO] [stdout] 129 +         IDLType::ServT(serv) => doc.append(pp_service_methods(serv)),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]                |          ^^^^^ `token::Comment`
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]    --> src/syntax/pretty.rs:130:23
[INFO] [stdout]     |
[INFO] [stdout] 130 |         IDLType::VarT(ref s) => doc.append(s),
[INFO] [stdout]     |                       ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]    --> src/syntax/pretty.rs:130:9
[INFO] [stdout]     |
[INFO] [stdout] 130 |         IDLType::VarT(ref s) => doc.append(s),
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]     |
[INFO] [stdout] 130 -         IDLType::VarT(ref s) => doc.append(s),
[INFO] [stdout] 130 +         IDLType::VarT(s) => doc.append(s),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]            ...
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]   --> src/syntax/mod.rs:30:30
[INFO] [stdout]    |
[INFO] [stdout] 30 |             IDLType::RecordT(ref fs) => {
[INFO] [stdout]    |                              ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]    |
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]   --> src/syntax/mod.rs:30:13
[INFO] [stdout]    |
[INFO] [stdout] 30 |             IDLType::RecordT(ref fs) => {
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout]    = warning: this changes meaning in Rust 2024
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]    |
[INFO] [stdout] 30 -             IDLType::RecordT(ref fs) => {
[INFO] [stdout] 30 +             IDLType::RecordT(fs) => {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]             96 | #[derive(Logos, Debug, Clone, PartialEq, Eq)]
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]   --> src/test.rs:56:25
[INFO] [stdout]    |
[INFO] [stdout] 56 |             Input::Text(ref s) => Ok(super::parse_idl_args(s)?.annotate_types(true, env, types)?),
[INFO] [stdout]    |                         ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]    |
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]   --> src/test.rs:56:13
[INFO] [stdout]    |
[INFO] [stdout] 56 |             Input::Text(ref s) => Ok(super::parse_idl_args(s)?.annotate_types(true, env, types)?),
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout]    = warning: this changes meaning in Rust 2024
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]    |
[INFO] [stdout] 56 -             Input::Text(ref s) => Ok(super::parse_idl_args(s)?.annotate_types(true, env, types)?),
[INFO] [stdout] 56 +             Input::Text(s) => Ok(super::parse_idl_args(s)?.annotate_types(true, env, types)?),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]                |          ^^^^^ `token::Text`
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]   --> src/test.rs:57:25
[INFO] [stdout]    |
[INFO] [stdout] 57 |             Input::Blob(ref bytes) => {
[INFO] [stdout]    |                         ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]    |
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]   --> src/test.rs:57:13
[INFO] [stdout]    |
[INFO] [stdout] 57 |             Input::Blob(ref bytes) => {
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout]    = warning: this changes meaning in Rust 2024
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]    |
[INFO] [stdout] 57 -             Input::Blob(ref bytes) => {
[INFO] [stdout] 57 +             Input::Blob(bytes) => {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]                = note: this error originates in the derive macro `Logos` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]   --> src/test.rs:68:25
[INFO] [stdout]    |
[INFO] [stdout] 68 |             Input::Blob(ref blob) => {
[INFO] [stdout]    |                         ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]    |
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]   --> src/test.rs:68:13
[INFO] [stdout]    |
[INFO] [stdout] 68 |             Input::Blob(ref blob) => {
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout]    = warning: this changes meaning in Rust 2024
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]    |
[INFO] [stdout] 68 -             Input::Blob(ref blob) => {
[INFO] [stdout] 68 +             Input::Blob(blob) => {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]            
[INFO] [stdout] warning: `impl logos::internal::CallbackResult<'s, std::string::String, Token>` will capture more lifetimes than possibly intended in edition 2024
[INFO] [stdout]  --> src/token.rs:8:10
[INFO] [stdout]   |
[INFO] [stdout] 8 | #[derive(Logos, Debug, Clone, PartialEq, Eq, Ord, PartialOrd)]
[INFO] [stdout]   |          ^^^^^
[INFO] [stdout]   |
[INFO] [stdout] note: specifically, this lifetime is in scope but not mentioned in the type's bounds
[INFO] [stdout]  --> src/token.rs:8:10
[INFO] [stdout]   |
[INFO] [stdout] 8 | #[derive(Logos, Debug, Clone, PartialEq, Eq, Ord, PartialOrd)]
[INFO] [stdout]   |          ^
[INFO] [stdout]   = note: all lifetimes in scope will be captured by `impl Trait`s in edition 2024
[INFO] [stdout]   = warning: this changes meaning in Rust 2024
[INFO] [stdout]   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/rpit-lifetime-capture.html>
[INFO] [stdout]   = note: `--force-warn impl-trait-overcaptures` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout]   = note: this warning originates in the derive macro `Logos` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use the precise capturing `use<...>` syntax to make the captures explicit
[INFO] [stdout]   |
[INFO] [stdout] 8 | #[derive(Logos + use<'s>, Debug, Clone, PartialEq, Eq, Ord, PartialOrd)]
[INFO] [stdout]   |                +++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]            
[INFO] [stdout] warning: `impl logos::internal::CallbackResult<'s, bool, Token>` will capture more lifetimes than possibly intended in edition 2024
[INFO] [stdout]  --> src/token.rs:8:10
[INFO] [stdout]   |
[INFO] [stdout] 8 | #[derive(Logos, Debug, Clone, PartialEq, Eq, Ord, PartialOrd)]
[INFO] [stdout]   |          ^^^^^
[INFO] [stdout]   |
[INFO] [stdout] note: specifically, this lifetime is in scope but not mentioned in the type's bounds
[INFO] [stdout]  --> src/token.rs:8:10
[INFO] [stdout]   |
[INFO] [stdout] 8 | #[derive(Logos, Debug, Clone, PartialEq, Eq, Ord, PartialOrd)]
[INFO] [stdout]   |          ^
[INFO] [stdout]   = note: all lifetimes in scope will be captured by `impl Trait`s in edition 2024
[INFO] [stdout]   = warning: this changes meaning in Rust 2024
[INFO] [stdout]   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/rpit-lifetime-capture.html>
[INFO] [stdout]   = note: this warning originates in the derive macro `Logos` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use the precise capturing `use<...>` syntax to make the captures explicit
[INFO] [stdout]   |
[INFO] [stdout] 8 | #[derive(Logos + use<'s>, Debug, Clone, PartialEq, Eq, Ord, PartialOrd)]
[INFO] [stdout]   |                +++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]            error[E0599]: the method `to_owned` exists for struct `logos::Lexer<'_, Token>`, but its trait bounds were not satisfied
[INFO] [stdout] warning: `impl logos::internal::CallbackResult<'s, char, Token>` will capture more lifetimes than possibly intended in edition 2024
[INFO] [stdout]  --> src/token.rs:8:10
[INFO] [stdout]   |
[INFO] [stdout] 8 | #[derive(Logos, Debug, Clone, PartialEq, Eq, Ord, PartialOrd)]
[INFO] [stdout]   |          ^^^^^
[INFO] [stdout]   |
[INFO] [stdout] note: specifically, this lifetime is in scope but not mentioned in the type's bounds
[INFO] [stdout]  --> src/token.rs:8:10
[INFO] [stdout]   |
[INFO] [stdout] 8 | #[derive(Logos, Debug, Clone, PartialEq, Eq, Ord, PartialOrd)]
[INFO] [stdout]   |          ^
[INFO] [stdout]   = note: all lifetimes in scope will be captured by `impl Trait`s in edition 2024
[INFO] [stdout]   = warning: this changes meaning in Rust 2024
[INFO] [stdout]   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/rpit-lifetime-capture.html>
[INFO] [stdout]   = note: this warning originates in the derive macro `Logos` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use the precise capturing `use<...>` syntax to make the captures explicit
[INFO] [stdout]   |
[INFO] [stdout] 8 | #[derive(Logos + use<'s>, Debug, Clone, PartialEq, Eq, Ord, PartialOrd)]
[INFO] [stdout]   |                +++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]               --> src/token.rs:259:40
[INFO] [stdout] warning: `impl logos::internal::CallbackResult<'s, char, Token>` will capture more lifetimes than possibly intended in edition 2024
[INFO] [stdout]  --> src/token.rs:8:10
[INFO] [stdout]   |
[INFO] [stdout] 8 | #[derive(Logos, Debug, Clone, PartialEq, Eq, Ord, PartialOrd)]
[INFO] [stdout]   |          ^^^^^
[INFO] [stdout]   |
[INFO] [stdout] note: specifically, this lifetime is in scope but not mentioned in the type's bounds
[INFO] [stdout]  --> src/token.rs:8:10
[INFO] [stdout]   |
[INFO] [stdout] 8 | #[derive(Logos, Debug, Clone, PartialEq, Eq, Ord, PartialOrd)]
[INFO] [stdout]   |          ^
[INFO] [stdout]   = note: all lifetimes in scope will be captured by `impl Trait`s in edition 2024
[INFO] [stdout]   = warning: this changes meaning in Rust 2024
[INFO] [stdout]   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/rpit-lifetime-capture.html>
[INFO] [stdout]   = note: this warning originates in the derive macro `Logos` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use the precise capturing `use<...>` syntax to make the captures explicit
[INFO] [stdout]   |
[INFO] [stdout] 8 | #[derive(Logos + use<'s>, Debug, Clone, PartialEq, Eq, Ord, PartialOrd)]
[INFO] [stdout]   |                +++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]                |
[INFO] [stderr]            259 |                 let mut lex = self.lex.to_owned().morph::<Comment>();
[INFO] [stderr]                |                                        ^^^^^^^^ method cannot be called on `logos::Lexer<'_, Token>` due to unsatisfied trait bounds
[INFO] [stderr]                |
[INFO] [stderr]               ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/logos-0.14.0/src/lexer.rs:14:1
[INFO] [stderr]                |
[INFO] [stderr]             14 | pub struct Lexer<'source, Token: Logos<'source>> {
[INFO] [stderr]                | ------------------------------------------------ doesn't satisfy `logos::Lexer<'_, Token>: Clone`, `logos::Lexer<'_, Token>: Sized` or `logos::Lexer<'_, Token>: ToOwned`
[INFO] [stderr]                |
[INFO] [stderr]                = note: the following trait bounds were not satisfied:
[INFO] [stderr]                        `logos::Lexer<'_, Token>: Sized`
[INFO] [stderr]                        which is required by `logos::Lexer<'_, Token>: ToOwned`
[INFO] [stderr]                        `logos::Lexer<'_, Token>: Clone`
[INFO] [stderr]                        which is required by `logos::Lexer<'_, Token>: ToOwned`
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `Token: Logos<'_>` is not satisfied in `logos::Lexer<'_, Token>`
[INFO] [stderr]               --> src/token.rs:279:17
[INFO] [stderr]                |
[INFO] [stderr]            279 |                 self.lex = lex.morph::<Token>();
[INFO] [stderr]                |                 ^^^^^^^^ unsatisfied trait bound
[INFO] [stderr]                |
[INFO] [stderr]            help: within `logos::Lexer<'_, Token>`, the trait `Logos<'_>` is not implemented for `Token`
[INFO] [stderr]               --> src/token.rs:10:1
[INFO] [stderr]                |
[INFO] [stderr]             10 | pub enum Token {
[INFO] [stderr]                | ^^^^^^^^^^^^^^
[INFO] [stderr]            help: the following other types implement trait `Logos<'source>`
[INFO] [stderr]               --> src/token.rs:88:10
[INFO] [stderr]                |
[INFO] [stderr]             88 | #[derive(Logos, Debug, Clone, PartialEq, Eq)]
[INFO] [stderr]                |          ^^^^^ `token::Comment`
[INFO] [stderr]            ...
[INFO] [stderr]             96 | #[derive(Logos, Debug, Clone, PartialEq, Eq)]
[INFO] [stderr]                |          ^^^^^ `token::Text`
[INFO] [stderr]            note: required because it appears within the type `logos::Lexer<'_, Token>`
[INFO] [stderr]               --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/logos-0.14.0/src/lexer.rs:14:12
[INFO] [stderr]                |
[INFO] [stderr]             14 | pub struct Lexer<'source, Token: Logos<'source>> {
[INFO] [stderr]                |            ^^^^^
[INFO] [stderr]                = note: the left-hand-side of an assignment must have a statically known size
[INFO] [stderr]                = note: this error originates in the derive macro `Logos` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0599]: the method `span` exists for struct `logos::Lexer<'_, Token>`, but its trait bounds were not satisfied
[INFO] [stderr]               --> src/token.rs:283:59
[INFO] [stderr]                |
[INFO] [stderr]             10 | pub enum Token {
[INFO] [stderr]                | -------------- doesn't satisfy `Token: Logos<'_>`
[INFO] [stderr]            ...
[INFO] [stderr]            283 |                     self.last_comment_end = Some(self.lex.span().start);
[INFO] [stderr]                |                                                           ^^^^ method cannot be called on `logos::Lexer<'_, Token>` due to unsatisfied trait bounds
[INFO] [stderr]                |
[INFO] [stderr]                = note: the following trait bounds were not satisfied:
[INFO] [stderr]                        `Token: Logos<'_>`
[INFO] [stderr]            note: the trait `Logos` must be implemented
[INFO] [stderr]               --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/logos-0.14.0/src/lib.rs:44:1
[INFO] [stderr]                |
[INFO] [stderr]             44 | pub trait Logos<'source>: Sized {
[INFO] [stderr]                | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `Token: Logos<'_>` is not satisfied
[INFO] [stderr]               --> src/token.rs:285:17
[INFO] [stderr]                |
[INFO] [stderr]            285 |                 self.next()
[INFO] [stderr]                |                 ^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stderr]                |
[INFO] [stderr]            help: the trait `Logos<'_>` is not implemented for `Token`
[INFO] [stderr]               --> src/token.rs:10:1
[INFO] [stderr]                |
[INFO] [stderr]             10 | pub enum Token {
[INFO] [stderr]                | ^^^^^^^^^^^^^^
[INFO] [stderr]            help: the following other types implement trait `Logos<'source>`
[INFO] [stderr]               --> src/token.rs:88:10
[INFO] [stderr]                |
[INFO] [stderr]             88 | #[derive(Logos, Debug, Clone, PartialEq, Eq)]
[INFO] [stderr]                |          ^^^^^ `token::Comment`
[INFO] [stderr]            ...
[INFO] [stderr]             96 | #[derive(Logos, Debug, Clone, PartialEq, Eq)]
[INFO] [stderr]                |          ^^^^^ `token::Text`
[INFO] [stderr]                = note: this error originates in the derive macro `Logos` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0599]: the method `to_owned` exists for struct `logos::Lexer<'_, Token>`, but its trait bounds were not satisfied
[INFO] [stderr]               --> src/token.rs:289:40
[INFO] [stderr]                |
[INFO] [stderr]            289 |                 let mut lex = self.lex.to_owned().morph::<Text>();
[INFO] [stderr]                |                                        ^^^^^^^^ method cannot be called on `logos::Lexer<'_, Token>` due to unsatisfied trait bounds
[INFO] [stderr]                |
[INFO] [stderr]               ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/logos-0.14.0/src/lexer.rs:14:1
[INFO] [stderr]                |
[INFO] [stderr]             14 | pub struct Lexer<'source, Token: Logos<'source>> {
[INFO] [stderr]                | ------------------------------------------------ doesn't satisfy `logos::Lexer<'_, Token>: Clone`, `logos::Lexer<'_, Token>: Sized` or `logos::Lexer<'_, Token>: ToOwned`
[INFO] [stderr]                |
[INFO] [stderr]                = note: the following trait bounds were not satisfied:
[INFO] [stderr]                        `logos::Lexer<'_, Token>: Sized`
[INFO] [stderr]                        which is required by `logos::Lexer<'_, Token>: ToOwned`
[INFO] [stderr]                        `logos::Lexer<'_, Token>: Clone`
[INFO] [stderr]                        which is required by `logos::Lexer<'_, Token>: ToOwned`
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `Token: Logos<'_>` is not satisfied in `logos::Lexer<'_, Token>`
[INFO] [stderr]               --> src/token.rs:359:17
[INFO] [stderr]                |
[INFO] [stderr]            359 |                 self.lex = lex.morph::<Token>();
[INFO] [stderr]                |                 ^^^^^^^^ unsatisfied trait bound
[INFO] [stderr]                |
[INFO] [stderr]            help: within `logos::Lexer<'_, Token>`, the trait `Logos<'_>` is not implemented for `Token`
[INFO] [stderr]               --> src/token.rs:10:1
[INFO] [stderr]                |
[INFO] [stderr]             10 | pub enum Token {
[INFO] [stderr]                | ^^^^^^^^^^^^^^
[INFO] [stderr]            help: the following other types implement trait `Logos<'source>`
[INFO] [stderr]               --> src/token.rs:88:10
[INFO] [stderr]                |
[INFO] [stderr]             88 | #[derive(Logos, Debug, Clone, PartialEq, Eq)]
[INFO] [stderr]                |          ^^^^^ `token::Comment`
[INFO] [stderr]            ...
[INFO] [stderr]             96 | #[derive(Logos, Debug, Clone, PartialEq, Eq)]
[INFO] [stderr]                |          ^^^^^ `token::Text`
[INFO] [stderr]            note: required because it appears within the type `logos::Lexer<'_, Token>`
[INFO] [stderr]               --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/logos-0.14.0/src/lexer.rs:14:12
[INFO] [stderr]                |
[INFO] [stderr]             14 | pub struct Lexer<'source, Token: Logos<'source>> {
[INFO] [stderr]                |            ^^^^^
[INFO] [stderr]                = note: the left-hand-side of an assignment must have a statically known size
[INFO] [stderr]                = note: this error originates in the derive macro `Logos` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0599]: the method `span` exists for struct `logos::Lexer<'_, Token>`, but its trait bounds were not satisfied
[INFO] [stderr]               --> src/token.rs:360:68
[INFO] [stderr]                |
[INFO] [stderr]             10 | pub enum Token {
[INFO] [stderr]                | -------------- doesn't satisfy `Token: Logos<'_>`
[INFO] [stderr]            ...
[INFO] [stderr]            360 |                 Some(Ok((span.start, Token::Text(result), self.lex.span().end)))
[INFO] [stderr]                |                                                                    ^^^^ method cannot be called on `logos::Lexer<'_, Token>` due to unsatisfied trait bounds
[INFO] [stderr]                |
[INFO] [stderr]                = note: the following trait bounds were not satisfied:
[INFO] [stderr]                        `Token: Logos<'_>`
[INFO] [stderr]            note: the trait `Logos` must be implemented
[INFO] [stderr]               --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/logos-0.14.0/src/lib.rs:44:1
[INFO] [stderr]                |
[INFO] [stderr]             44 | pub trait Logos<'source>: Sized {
[INFO] [stderr]                | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `Token: Logos<'_>` is not satisfied
[INFO] [stderr]               --> src/token.rs:364:47
[INFO] [stderr]                |
[INFO] [stderr]            364 |                     let has_blank_line = self.has_blank_line_before_token(span.start);
[INFO] [stderr]                |                                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stderr]                |
[INFO] [stderr]            help: the trait `Logos<'_>` is not implemented for `Token`
[INFO] [stderr]               --> src/token.rs:10:1
[INFO] [stderr]                |
[INFO] [stderr]             10 | pub enum Token {
[INFO] [stderr]                | ^^^^^^^^^^^^^^
[INFO] [stderr]            help: the following other types implement trait `Logos<'source>`
[INFO] [stderr]               --> src/token.rs:88:10
[INFO] [stderr]                |
[INFO] [stderr]             88 | #[derive(Logos, Debug, Clone, PartialEq, Eq)]
[INFO] [stderr]                |          ^^^^^ `token::Comment`
[INFO] [stderr]            ...
[INFO] [stderr]             96 | #[derive(Logos, Debug, Clone, PartialEq, Eq)]
[INFO] [stderr]                |          ^^^^^ `token::Text`
[INFO] [stderr]                = note: this error originates in the derive macro `Logos` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `Token: Logos<'_>` is not satisfied
[INFO] [stderr]               --> src/token.rs:375:62
[INFO] [stderr]                |
[INFO] [stderr]            375 |                         self.last_token_line_end = Some(self.find_line_end(span.end));
[INFO] [stderr]                |                                                              ^^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stderr]                |
[INFO] [stderr]            help: the trait `Logos<'_>` is not implemented for `Token`
[INFO] [stderr]               --> src/token.rs:10:1
[INFO] [stderr]                |
[INFO] [stderr]             10 | pub enum Token {
[INFO] [stderr]                | ^^^^^^^^^^^^^^
[INFO] [stderr]            help: the following other types implement trait `Logos<'source>`
[INFO] [stderr]               --> src/token.rs:88:10
[INFO] [stderr]                |
[INFO] [stderr]             88 | #[derive(Logos, Debug, Clone, PartialEq, Eq)]
[INFO] [stderr]                |          ^^^^^ `token::Comment`
[INFO] [stderr]            ...
[INFO] [stderr]             96 | #[derive(Logos, Debug, Clone, PartialEq, Eq)]
[INFO] [stderr]                |          ^^^^^ `token::Text`
[INFO] [stderr]                = note: this error originates in the derive macro `Logos` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `Token: Logos<'_>` is not satisfied
[INFO] [stderr]              --> src/test.rs:80:21
[INFO] [stderr]               |
[INFO] [stderr]            80 |         let lexer = super::token::Tokenizer::new(str);
[INFO] [stderr]               |                     ^^^^^^^^^^^^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stderr]               |
[INFO] [stderr]            help: the trait `Logos<'_>` is not implemented for `Token`
[INFO] [stderr]              --> src/token.rs:10:1
[INFO] [stderr]               |
[INFO] [stderr]            10 | pub enum Token {
[INFO] [stderr]               | ^^^^^^^^^^^^^^
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `Token: Logos<'_>` is not satisfied
[INFO] [stderr]              --> src/test.rs:80:21
[INFO] [stderr]               |
[INFO] [stderr]            80 |         let lexer = super::token::Tokenizer::new(str);
[INFO] [stderr]               |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stderr]               |
[INFO] [stderr]            help: the trait `Logos<'_>` is not implemented for `Token`
[INFO] [stderr]              --> src/token.rs:10:1
[INFO] [stderr]               |
[INFO] [stderr]            10 | pub enum Token {
[INFO] [stderr]               | ^^^^^^^^^^^^^^
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `Token: Logos<'_>` is not satisfied
[INFO] [stderr]              --> src/test.rs:81:12
[INFO] [stderr]               |
[INFO] [stderr]            81 |         Ok(super::grammar::TestParser::new().parse(None, lexer)?)
[INFO] [stderr]               |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stderr]               |
[INFO] [stderr]            help: the trait `Logos<'_>` is not implemented for `Token`
[INFO] [stderr]              --> src/token.rs:10:1
[INFO] [stderr]               |
[INFO] [stderr]            10 | pub enum Token {
[INFO] [stderr]               | ^^^^^^^^^^^^^^
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `Token: Logos<'_>` is not satisfied
[INFO] [stderr]               --> src/lib.rs:146:17
[INFO] [stderr]                |
[INFO] [stderr]            146 |     let lexer = token::Tokenizer::new(s);
[INFO] [stderr]                |                 ^^^^^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stderr]                |
[INFO] [stderr]            help: the trait `Logos<'_>` is not implemented for `Token`
[INFO] [stderr]               --> src/token.rs:10:1
[INFO] [stderr]                |
[INFO] [stderr]             10 | pub enum Token {
[INFO] [stderr]                | ^^^^^^^^^^^^^^
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `Token: Logos<'_>` is not satisfied
[INFO] [stderr]               --> src/lib.rs:146:17
[INFO] [stderr]                |
[INFO] [stderr]            146 |     let lexer = token::Tokenizer::new(s);
[INFO] [stderr]                |                 ^^^^^^^^^^^^^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stderr]                |
[INFO] [stderr]            help: the trait `Logos<'_>` is not implemented for `Token`
[INFO] [stderr]               --> src/token.rs:10:1
[INFO] [stderr]                |
[INFO] [stderr]             10 | pub enum Token {
[INFO] [stderr]                | ^^^^^^^^^^^^^^
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `Token: Logos<'_>` is not satisfied
[INFO] [stderr]               --> src/lib.rs:147:8
[INFO] [stderr]                |
[INFO] [stderr]            147 |     Ok(grammar::ArgsParser::new().parse(None, lexer)?)
[INFO] [stderr]                |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stderr]                |
[INFO] [stderr]            help: the trait `Logos<'_>` is not implemented for `Token`
[INFO] [stderr]               --> src/token.rs:10:1
[INFO] [stderr]                |
[INFO] [stderr]             10 | pub enum Token {
[INFO] [stderr]                | ^^^^^^^^^^^^^^
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `Token: Logos<'_>` is not satisfied
[INFO] [stderr]               --> src/lib.rs:151:17
[INFO] [stderr]                |
[INFO] [stderr]            151 |     let lexer = token::Tokenizer::new(s);
[INFO] [stderr]                |                 ^^^^^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stderr]                |
[INFO] [stderr]            help: the trait `Logos<'_>` is not implemented for `Token`
[INFO] [stderr]               --> src/token.rs:10:1
[INFO] [stderr]                |
[INFO] [stderr]             10 | pub enum Token {
[INFO] [stderr]                | ^^^^^^^^^^^^^^
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `Token: Logos<'_>` is not satisfied
[INFO] [stderr]               --> src/lib.rs:151:17
[INFO] [stderr]                |
[INFO] [stderr]            151 |     let lexer = token::Tokenizer::new(s);
[INFO] [stderr]                |                 ^^^^^^^^^^^^^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stderr]                |
[INFO] [stderr]            help: the trait `Logos<'_>` is not implemented for `Token`
[INFO] [stderr]               --> src/token.rs:10:1
[INFO] [stderr]                |
[INFO] [stderr]             10 | pub enum Token {
[INFO] [stderr]                | ^^^^^^^^^^^^^^
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `Token: Logos<'_>` is not satisfied
[INFO] [stderr]               --> src/lib.rs:152:8
[INFO] [stderr]                |
[INFO] [stderr]            152 |     Ok(grammar::ArgParser::new().parse(None, lexer)?)
[INFO] [stderr]                |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stderr]                |
[INFO] [stderr]            help: the trait `Logos<'_>` is not implemented for `Token`
[INFO] [stderr]               --> src/token.rs:10:1
[INFO] [stderr]                |
[INFO] [stderr]             10 | pub enum Token {
[INFO] [stderr]                | ^^^^^^^^^^^^^^
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: aborting due to 117 previous errors
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            Some errors have detailed explanations: E0277, E0599.
[INFO] [stderr]            
[INFO] [stderr]            For more information about an error, try `rustc --explain E0277`.
[INFO] [stderr] help: to report this as a bug, open an issue at https://github.com/rust-lang/rust/issues, quoting the full output of this command
[INFO] [stderr] help: to possibly apply more fixes, pass in the `--broken-code` flag
[INFO] [stderr] note: original diagnostics will follow:
[INFO] [stderr] error: errors present after applying fixes to crate `candid_parser`
[INFO] [stderr]  --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lalrpop-util-0.20.2/src/lib.rs
[INFO] [stderr]  ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/logos-0.14.0/src/lexer.rs
[INFO] [stderr]  ::: /opt/rustwide/target/debug/build/candid_parser-451a6ef65a285c38/out/grammar.rs
[INFO] [stderr]  ::: src/error.rs
[INFO] [stderr]  ::: src/lib.rs
[INFO] [stderr]  ::: src/syntax/mod.rs
[INFO] [stderr]  ::: src/test.rs
[INFO] [stderr]  ::: src/token.rs
[INFO] [stderr]   = cause: error: expected one of `(`, `,`, `::`, or `=`, found `+`
[INFO] [stderr]             --> src/token.rs:8:16
[INFO] [stderr]              |
[INFO] [stderr]            8 | #[derive(Logos + use<'s>, Debug, Clone, PartialEq, Eq, Ord, PartialOrd)]
[INFO] [stderr]              |                ^ expected one of `(`, `,`, `::`, or `=`
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `logos` in this scope
[INFO] [stderr]              --> src/token.rs:9:3
[INFO] [stderr]               |
[INFO] [stderr]             9 | #[logos(skip r"[ \t\r\n]+")]
[INFO] [stderr]               |   ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]               = note: `logos` is in scope, but it is a crate, not an attribute
[INFO] [stderr]            help: `logos` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]            10 + #[derive(Logos)]
[INFO] [stderr]            11 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `regex` in this scope
[INFO] [stderr]              --> src/token.rs:11:7
[INFO] [stderr]               |
[INFO] [stderr]            11 |     #[regex(r"//[^\n]*")] // must start with `LINE_COMMENT_PREFIX`
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `regex` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]            10 + #[derive(Logos)]
[INFO] [stderr]            11 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> src/token.rs:13:7
[INFO] [stderr]               |
[INFO] [stderr]            13 |     #[token("/*")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]            10 + #[derive(Logos)]
[INFO] [stderr]            11 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> src/token.rs:15:7
[INFO] [stderr]               |
[INFO] [stderr]            15 |     #[token("=")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]            10 + #[derive(Logos)]
[INFO] [stderr]            11 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> src/token.rs:17:7
[INFO] [stderr]               |
[INFO] [stderr]            17 |     #[token("(")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]            10 + #[derive(Logos)]
[INFO] [stderr]            11 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> src/token.rs:19:7
[INFO] [stderr]               |
[INFO] [stderr]            19 |     #[token(")")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]            10 + #[derive(Logos)]
[INFO] [stderr]            11 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> src/token.rs:21:7
[INFO] [stderr]               |
[INFO] [stderr]            21 |     #[token("{")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]            10 + #[derive(Logos)]
[INFO] [stderr]            11 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> src/token.rs:23:7
[INFO] [stderr]               |
[INFO] [stderr]            23 |     #[token("}")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]            10 + #[derive(Logos)]
[INFO] [stderr]            11 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> src/token.rs:25:7
[INFO] [stderr]               |
[INFO] [stderr]            25 |     #[token(";")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]            10 + #[derive(Logos)]
[INFO] [stderr]            11 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> src/token.rs:27:7
[INFO] [stderr]               |
[INFO] [stderr]            27 |     #[token(",")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]            10 + #[derive(Logos)]
[INFO] [stderr]            11 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> src/token.rs:29:7
[INFO] [stderr]               |
[INFO] [stderr]            29 |     #[token(".", priority = 10)]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]            10 + #[derive(Logos)]
[INFO] [stderr]            11 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> src/token.rs:31:7
[INFO] [stderr]               |
[INFO] [stderr]            31 |     #[token(":")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]            10 + #[derive(Logos)]
[INFO] [stderr]            11 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> src/token.rs:33:7
[INFO] [stderr]               |
[INFO] [stderr]            33 |     #[token("->")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]            10 + #[derive(Logos)]
[INFO] [stderr]            11 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> src/token.rs:35:7
[INFO] [stderr]               |
[INFO] [stderr]            35 |     #[token("null")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]            10 + #[derive(Logos)]
[INFO] [stderr]            11 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> src/token.rs:37:7
[INFO] [stderr]               |
[INFO] [stderr]            37 |     #[token("vec")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]            10 + #[derive(Logos)]
[INFO] [stderr]            11 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> src/token.rs:39:7
[INFO] [stderr]               |
[INFO] [stderr]            39 |     #[token("record")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]            10 + #[derive(Logos)]
[INFO] [stderr]            11 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> src/token.rs:41:7
[INFO] [stderr]               |
[INFO] [stderr]            41 |     #[token("variant")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]            10 + #[derive(Logos)]
[INFO] [stderr]            11 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> src/token.rs:43:7
[INFO] [stderr]               |
[INFO] [stderr]            43 |     #[token("func")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]            10 + #[derive(Logos)]
[INFO] [stderr]            11 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> src/token.rs:45:7
[INFO] [stderr]               |
[INFO] [stderr]            45 |     #[token("service")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]            10 + #[derive(Logos)]
[INFO] [stderr]            11 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> src/token.rs:47:7
[INFO] [stderr]               |
[INFO] [stderr]            47 |     #[token("oneway")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]            10 + #[derive(Logos)]
[INFO] [stderr]            11 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> src/token.rs:49:7
[INFO] [stderr]               |
[INFO] [stderr]            49 |     #[token("query")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]            10 + #[derive(Logos)]
[INFO] [stderr]            11 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> src/token.rs:51:7
[INFO] [stderr]               |
[INFO] [stderr]            51 |     #[token("composite_query")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]            10 + #[derive(Logos)]
[INFO] [stderr]            11 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> src/token.rs:53:7
[INFO] [stderr]               |
[INFO] [stderr]            53 |     #[token("blob")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]            10 + #[derive(Logos)]
[INFO] [stderr]            11 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> src/token.rs:55:7
[INFO] [stderr]               |
[INFO] [stderr]            55 |     #[token("type")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]            10 + #[derive(Logos)]
[INFO] [stderr]            11 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> src/token.rs:57:7
[INFO] [stderr]               |
[INFO] [stderr]            57 |     #[token("import")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]            10 + #[derive(Logos)]
[INFO] [stderr]            11 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> src/token.rs:59:7
[INFO] [stderr]               |
[INFO] [stderr]            59 |     #[token("opt")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]            10 + #[derive(Logos)]
[INFO] [stderr]            11 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> src/token.rs:61:7
[INFO] [stderr]               |
[INFO] [stderr]            61 |     #[token("==")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]            10 + #[derive(Logos)]
[INFO] [stderr]            11 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> src/token.rs:63:7
[INFO] [stderr]               |
[INFO] [stderr]            63 |     #[token("!=")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]            10 + #[derive(Logos)]
[INFO] [stderr]            11 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> src/token.rs:65:7
[INFO] [stderr]               |
[INFO] [stderr]            65 |     #[token("!:")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]            10 + #[derive(Logos)]
[INFO] [stderr]            11 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> src/token.rs:67:7
[INFO] [stderr]               |
[INFO] [stderr]            67 |     #[token("principal")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]            10 + #[derive(Logos)]
[INFO] [stderr]            11 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `regex` in this scope
[INFO] [stderr]              --> src/token.rs:69:7
[INFO] [stderr]               |
[INFO] [stderr]            69 |     #[regex("[a-zA-Z_][a-zA-Z0-9_]*", |lex| lex.slice().to_string())]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `regex` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]            10 + #[derive(Logos)]
[INFO] [stderr]            11 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> src/token.rs:71:7
[INFO] [stderr]               |
[INFO] [stderr]            71 |     #[token("\"")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]            10 + #[derive(Logos)]
[INFO] [stderr]            11 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `regex` in this scope
[INFO] [stderr]              --> src/token.rs:75:7
[INFO] [stderr]               |
[INFO] [stderr]            75 |     #[regex("[+-]", |lex| lex.slice().chars().next())]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `regex` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]            10 + #[derive(Logos)]
[INFO] [stderr]            11 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `regex` in this scope
[INFO] [stderr]              --> src/token.rs:77:7
[INFO] [stderr]               |
[INFO] [stderr]            77 |     #[regex("[0-9][_0-9]*", parse_number)]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `regex` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]            10 + #[derive(Logos)]
[INFO] [stderr]            11 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `regex` in this scope
[INFO] [stderr]              --> src/token.rs:79:7
[INFO] [stderr]               |
[INFO] [stderr]            79 |     #[regex("0[xX][0-9a-fA-F][_0-9a-fA-F]*", parse_number)]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `regex` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]            10 + #[derive(Logos)]
[INFO] [stderr]            11 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `regex` in this scope
[INFO] [stderr]              --> src/token.rs:81:7
[INFO] [stderr]               |
[INFO] [stderr]            81 |     #[regex("[0-9]*\\.[0-9]*", parse_number)]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `regex` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]            10 + #[derive(Logos)]
[INFO] [stderr]            11 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `regex` in this scope
[INFO] [stderr]              --> src/token.rs:82:7
[INFO] [stderr]               |
[INFO] [stderr]            82 |     #[regex("[0-9]+(\\.[0-9]*)?[eE][+-]?[0-9]+", parse_number)]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `regex` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]            10 + #[derive(Logos)]
[INFO] [stderr]            11 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `regex` in this scope
[INFO] [stderr]              --> src/token.rs:84:7
[INFO] [stderr]               |
[INFO] [stderr]            84 |     #[regex("true|false", |lex| lex.slice().parse().map_err(|_| ()))]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `regex` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]            10 + #[derive(Logos)]
[INFO] [stderr]            11 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: `Token` doesn't implement `Debug`
[INFO] [stderr]               --> /opt/rustwide/target/debug/build/candid_parser-451a6ef65a285c38/out/grammar.rs:925:22
[INFO] [stderr]                |
[INFO] [stderr]            925 |         type Token = Token;
[INFO] [stderr]                |                      ^^^^^ the trait `Debug` is not implemented for `Token`
[INFO] [stderr]                |
[INFO] [stderr]            note: required by a bound in `grammar::__lalrpop_util::state_machine::ParserDefinition::Token`
[INFO] [stderr]               --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lalrpop-util-0.20.2/src/state_machine.rs:27:25
[INFO] [stderr]                |
[INFO] [stderr]             27 |     type Token: Clone + Debug;
[INFO] [stderr]                |                         ^^^^^ required by this bound in `ParserDefinition::Token`
[INFO] [stderr]            help: consider annotating `Token` with `#[derive(Debug)]`
[INFO] [stderr]               --> src/token.rs:10:1
[INFO] [stderr]                |
[INFO] [stderr]             10 + #[derive(Debug)]
[INFO] [stderr]             11 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `Token: Clone` is not satisfied
[INFO] [stderr]               --> /opt/rustwide/target/debug/build/candid_parser-451a6ef65a285c38/out/grammar.rs:925:22
[INFO] [stderr]                |
[INFO] [stderr]            925 |         type Token = Token;
[INFO] [stderr]                |                      ^^^^^ the trait `Clone` is not implemented for `Token`
[INFO] [stderr]                |
[INFO] [stderr]            note: required by a bound in `grammar::__lalrpop_util::state_machine::ParserDefinition::Token`
[INFO] [stderr]               --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lalrpop-util-0.20.2/src/state_machine.rs:27:17
[INFO] [stderr]                |
[INFO] [stderr]             27 |     type Token: Clone + Debug;
[INFO] [stderr]                |                 ^^^^^ required by this bound in `ParserDefinition::Token`
[INFO] [stderr]            help: consider annotating `Token` with `#[derive(Clone)]`
[INFO] [stderr]               --> src/token.rs:10:1
[INFO] [stderr]                |
[INFO] [stderr]             10 + #[derive(Clone)]
[INFO] [stderr]             11 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: `Token` doesn't implement `Debug`
[INFO] [stderr]                --> /opt/rustwide/target/debug/build/candid_parser-451a6ef65a285c38/out/grammar.rs:9891:22
[INFO] [stderr]                 |
[INFO] [stderr]            9891 |         type Token = Token;
[INFO] [stderr]                 |                      ^^^^^ the trait `Debug` is not implemented for `Token`
[INFO] [stderr]                 |
[INFO] [stderr]            note: required by a bound in `grammar::__lalrpop_util::state_machine::ParserDefinition::Token`
[INFO] [stderr]                --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lalrpop-util-0.20.2/src/state_machine.rs:27:25
[INFO] [stderr]                 |
[INFO] [stderr]              27 |     type Token: Clone + Debug;
[INFO] [stderr]                 |                         ^^^^^ required by this bound in `ParserDefinition::Token`
[INFO] [stderr]            help: consider annotating `Token` with `#[derive(Debug)]`
[INFO] [stderr]                -->  src/token.rs:10:1
[INFO] [stderr]                 |
[INFO] [stderr]              10 + #[derive(Debug)]
[INFO] [stderr]              11 | pub enum Token {
[INFO] [stderr]                 |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `Token: Clone` is not satisfied
[INFO] [stderr]                --> /opt/rustwide/target/debug/build/candid_parser-451a6ef65a285c38/out/grammar.rs:9891:22
[INFO] [stderr]                 |
[INFO] [stderr]            9891 |         type Token = Token;
[INFO] [stderr]                 |                      ^^^^^ the trait `Clone` is not implemented for `Token`
[INFO] [stderr]                 |
[INFO] [stderr]            note: required by a bound in `grammar::__lalrpop_util::state_machine::ParserDefinition::Token`
[INFO] [stderr]                --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lalrpop-util-0.20.2/src/state_machine.rs:27:17
[INFO] [stderr]                 |
[INFO] [stderr]              27 |     type Token: Clone + Debug;
[INFO] [stderr]                 |                 ^^^^^ required by this bound in `ParserDefinition::Token`
[INFO] [stderr]            help: consider annotating `Token` with `#[derive(Clone)]`
[INFO] [stderr]                -->  src/token.rs:10:1
[INFO] [stderr]                 |
[INFO] [stderr]              10 + #[derive(Clone)]
[INFO] [stderr]              11 | pub enum Token {
[INFO] [stderr]                 |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: `Token` doesn't implement `Debug`
[INFO] [stderr]                 --> /opt/rustwide/target/debug/build/candid_parser-451a6ef65a285c38/out/grammar.rs:18574:22
[INFO] [stderr]                  |
[INFO] [stderr]            18574 |         type Token = Token;
[INFO] [stderr]                  |                      ^^^^^ the trait `Debug` is not implemented for `Token`
[INFO] [stderr]                  |
[INFO] [stderr]            note: required by a bound in `grammar::__lalrpop_util::state_machine::ParserDefinition::Token`
[INFO] [stderr]                 --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lalrpop-util-0.20.2/src/state_machine.rs:27:25
[INFO] [stderr]                  |
[INFO] [stderr]               27 |     type Token: Clone + Debug;
[INFO] [stderr]                  |                         ^^^^^ required by this bound in `ParserDefinition::Token`
[INFO] [stderr]            help: consider annotating `Token` with `#[derive(Debug)]`
[INFO] [stderr]                 -->   src/token.rs:10:1
[INFO] [stderr]                  |
[INFO] [stderr]               10 + #[derive(Debug)]
[INFO] [stderr]               11 | pub enum Token {
[INFO] [stderr]                  |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `Token: Clone` is not satisfied
[INFO] [stderr]                 --> /opt/rustwide/target/debug/build/candid_parser-451a6ef65a285c38/out/grammar.rs:18574:22
[INFO] [stderr]                  |
[INFO] [stderr]            18574 |         type Token = Token;
[INFO] [stderr]                  |                      ^^^^^ the trait `Clone` is not implemented for `Token`
[INFO] [stderr]                  |
[INFO] [stderr]            note: required by a bound in `grammar::__lalrpop_util::state_machine::ParserDefinition::Token`
[INFO] [stderr]                 --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lalrpop-util-0.20.2/src/state_machine.rs:27:17
[INFO] [stderr]                  |
[INFO] [stderr]               27 |     type Token: Clone + Debug;
[INFO] [stderr]                  |                 ^^^^^ required by this bound in `ParserDefinition::Token`
[INFO] [stderr]            help: consider annotating `Token` with `#[derive(Clone)]`
[INFO] [stderr]                 -->   src/token.rs:10:1
[INFO] [stderr]                  |
[INFO] [stderr]               10 + #[derive(Clone)]
[INFO] [stderr]               11 | pub enum Token {
[INFO] [stderr]                  |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: `Token` doesn't implement `Debug`
[INFO] [stderr]                 --> /opt/rustwide/target/debug/build/candid_parser-451a6ef65a285c38/out/grammar.rs:27342:22
[INFO] [stderr]                  |
[INFO] [stderr]            27342 |         type Token = Token;
[INFO] [stderr]                  |                      ^^^^^ the trait `Debug` is not implemented for `Token`
[INFO] [stderr]                  |
[INFO] [stderr]            note: required by a bound in `grammar::__lalrpop_util::state_machine::ParserDefinition::Token`
[INFO] [stderr]                 --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lalrpop-util-0.20.2/src/state_machine.rs:27:25
[INFO] [stderr]                  |
[INFO] [stderr]               27 |     type Token: Clone + Debug;
[INFO] [stderr]                  |                         ^^^^^ required by this bound in `ParserDefinition::Token`
[INFO] [stderr]            help: consider annotating `Token` with `#[derive(Debug)]`
[INFO] [stderr]                 -->   src/token.rs:10:1
[INFO] [stderr]                  |
[INFO] [stderr]               10 + #[derive(Debug)]
[INFO] [stderr]               11 | pub enum Token {
[INFO] [stderr]                  |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `Token: Clone` is not satisfied
[INFO] [stderr]                 --> /opt/rustwide/target/debug/build/candid_parser-451a6ef65a285c38/out/grammar.rs:27342:22
[INFO] [stderr]                  |
[INFO] [stderr]            27342 |         type Token = Token;
[INFO] [stderr]                  |                      ^^^^^ the trait `Clone` is not implemented for `Token`
[INFO] [stderr]                  |
[INFO] [stderr]            note: required by a bound in `grammar::__lalrpop_util::state_machine::ParserDefinition::Token`
[INFO] [stderr]                 --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lalrpop-util-0.20.2/src/state_machine.rs:27:17
[INFO] [stderr]                  |
[INFO] [stderr]               27 |     type Token: Clone + Debug;
[INFO] [stderr]                  |                 ^^^^^ required by this bound in `ParserDefinition::Token`
[INFO] [stderr]            help: consider annotating `Token` with `#[derive(Clone)]`
[INFO] [stderr]                 -->   src/token.rs:10:1
[INFO] [stderr]                  |
[INFO] [stderr]               10 + #[derive(Clone)]
[INFO] [stderr]               11 | pub enum Token {
[INFO] [stderr]                  |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: `Token` doesn't implement `Debug`
[INFO] [stderr]                 --> /opt/rustwide/target/debug/build/candid_parser-451a6ef65a285c38/out/grammar.rs:36185:22
[INFO] [stderr]                  |
[INFO] [stderr]            36185 |         type Token = Token;
[INFO] [stderr]                  |                      ^^^^^ the trait `Debug` is not implemented for `Token`
[INFO] [stderr]                  |
[INFO] [stderr]            note: required by a bound in `grammar::__lalrpop_util::state_machine::ParserDefinition::Token`
[INFO] [stderr]                 --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lalrpop-util-0.20.2/src/state_machine.rs:27:25
[INFO] [stderr]                  |
[INFO] [stderr]               27 |     type Token: Clone + Debug;
[INFO] [stderr]                  |                         ^^^^^ required by this bound in `ParserDefinition::Token`
[INFO] [stderr]            help: consider annotating `Token` with `#[derive(Debug)]`
[INFO] [stderr]                 -->   src/token.rs:10:1
[INFO] [stderr]                  |
[INFO] [stderr]               10 + #[derive(Debug)]
[INFO] [stderr]               11 | pub enum Token {
[INFO] [stderr]                  |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `Token: Clone` is not satisfied
[INFO] [stderr]                 --> /opt/rustwide/target/debug/build/candid_parser-451a6ef65a285c38/out/grammar.rs:36185:22
[INFO] [stderr]                  |
[INFO] [stderr]            36185 |         type Token = Token;
[INFO] [stderr]                  |                      ^^^^^ the trait `Clone` is not implemented for `Token`
[INFO] [stderr]                  |
[INFO] [stderr]            note: required by a bound in `grammar::__lalrpop_util::state_machine::ParserDefinition::Token`
[INFO] [stderr]                 --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lalrpop-util-0.20.2/src/state_machine.rs:27:17
[INFO] [stderr]                  |
[INFO] [stderr]               27 |     type Token: Clone + Debug;
[INFO] [stderr]                  |                 ^^^^^ required by this bound in `ParserDefinition::Token`
[INFO] [stderr]            help: consider annotating `Token` with `#[derive(Clone)]`
[INFO] [stderr]                 -->   src/token.rs:10:1
[INFO] [stderr]                  |
[INFO] [stderr]               10 + #[derive(Clone)]
[INFO] [stderr]               11 | pub enum Token {
[INFO] [stderr]                  |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: `Token` doesn't implement `Debug`
[INFO] [stderr]                 --> /opt/rustwide/target/debug/build/candid_parser-451a6ef65a285c38/out/grammar.rs:44786:22
[INFO] [stderr]                  |
[INFO] [stderr]            44786 |         type Token = Token;
[INFO] [stderr]                  |                      ^^^^^ the trait `Debug` is not implemented for `Token`
[INFO] [stderr]                  |
[INFO] [stderr]            note: required by a bound in `grammar::__lalrpop_util::state_machine::ParserDefinition::Token`
[INFO] [stderr]                 --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lalrpop-util-0.20.2/src/state_machine.rs:27:25
[INFO] [stderr]                  |
[INFO] [stderr]               27 |     type Token: Clone + Debug;
[INFO] [stderr]                  |                         ^^^^^ required by this bound in `ParserDefinition::Token`
[INFO] [stderr]            help: consider annotating `Token` with `#[derive(Debug)]`
[INFO] [stderr]                 -->   src/token.rs:10:1
[INFO] [stderr]                  |
[INFO] [stderr]               10 + #[derive(Debug)]
[INFO] [stderr]               11 | pub enum Token {
[INFO] [stderr]                  |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `Token: Clone` is not satisfied
[INFO] [stderr]                 --> /opt/rustwide/target/debug/build/candid_parser-451a6ef65a285c38/out/grammar.rs:44786:22
[INFO] [stderr]                  |
[INFO] [stderr]            44786 |         type Token = Token;
[INFO] [stderr]                  |                      ^^^^^ the trait `Clone` is not implemented for `Token`
[INFO] [stderr]                  |
[INFO] [stderr]            note: required by a bound in `grammar::__lalrpop_util::state_machine::ParserDefinition::Token`
[INFO] [stderr]                 --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lalrpop-util-0.20.2/src/state_machine.rs:27:17
[INFO] [stderr]                  |
[INFO] [stderr]               27 |     type Token: Clone + Debug;
[INFO] [stderr]                  |                 ^^^^^ required by this bound in `ParserDefinition::Token`
[INFO] [stderr]            help: consider annotating `Token` with `#[derive(Clone)]`
[INFO] [stderr]                 -->   src/token.rs:10:1
[INFO] [stderr]                  |
[INFO] [stderr]               10 + #[derive(Clone)]
[INFO] [stderr]               11 | pub enum Token {
[INFO] [stderr]                  |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: `Token` doesn't implement `Debug`
[INFO] [stderr]                 --> /opt/rustwide/target/debug/build/candid_parser-451a6ef65a285c38/out/grammar.rs:53392:22
[INFO] [stderr]                  |
[INFO] [stderr]            53392 |         type Token = Token;
[INFO] [stderr]                  |                      ^^^^^ the trait `Debug` is not implemented for `Token`
[INFO] [stderr]                  |
[INFO] [stderr]            note: required by a bound in `grammar::__lalrpop_util::state_machine::ParserDefinition::Token`
[INFO] [stderr]                 --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lalrpop-util-0.20.2/src/state_machine.rs:27:25
[INFO] [stderr]                  |
[INFO] [stderr]               27 |     type Token: Clone + Debug;
[INFO] [stderr]                  |                         ^^^^^ required by this bound in `ParserDefinition::Token`
[INFO] [stderr]            help: consider annotating `Token` with `#[derive(Debug)]`
[INFO] [stderr]                 -->   src/token.rs:10:1
[INFO] [stderr]                  |
[INFO] [stderr]               10 + #[derive(Debug)]
[INFO] [stderr]               11 | pub enum Token {
[INFO] [stderr]                  |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `Token: Clone` is not satisfied
[INFO] [stderr]                 --> /opt/rustwide/target/debug/build/candid_parser-451a6ef65a285c38/out/grammar.rs:53392:22
[INFO] [stderr]                  |
[INFO] [stderr]            53392 |         type Token = Token;
[INFO] [stderr]                  |                      ^^^^^ the trait `Clone` is not implemented for `Token`
[INFO] [stderr]                  |
[INFO] [stderr]            note: required by a bound in `grammar::__lalrpop_util::state_machine::ParserDefinition::Token`
[INFO] [stderr]                 --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lalrpop-util-0.20.2/src/state_machine.rs:27:17
[INFO] [stderr]                  |
[INFO] [stderr]               27 |     type Token: Clone + Debug;
[INFO] [stderr]                  |                 ^^^^^ required by this bound in `ParserDefinition::Token`
[INFO] [stderr]            help: consider annotating `Token` with `#[derive(Clone)]`
[INFO] [stderr]                 -->   src/token.rs:10:1
[INFO] [stderr]                  |
[INFO] [stderr]               10 + #[derive(Clone)]
[INFO] [stderr]               11 | pub enum Token {
[INFO] [stderr]                  |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `Token: Logos<'_>` is not satisfied
[INFO] [stderr]               --> src/token.rs:117:27
[INFO] [stderr]                |
[INFO] [stderr]            117 | fn parse_number(lex: &mut Lexer<Token>) -> String {
[INFO] [stderr]                |                           ^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stderr]                |
[INFO] [stderr]            help: the trait `Logos<'_>` is not implemented for `Token`
[INFO] [stderr]               --> src/token.rs:10:1
[INFO] [stderr]                |
[INFO] [stderr]             10 | pub enum Token {
[INFO] [stderr]                | ^^^^^^^^^^^^^^
[INFO] [stderr]            help: the following other types implement trait `Logos<'source>`
[INFO] [stderr]               --> src/token.rs:88:10
[INFO] [stderr]                |
[INFO] [stderr]             88 | #[derive(Logos, Debug, Clone, PartialEq, Eq)]
[INFO] [stderr]                |          ^^^^^ `token::Comment`
[INFO] [stderr]            ...
[INFO] [stderr]             96 | #[derive(Logos, Debug, Clone, PartialEq, Eq)]
[INFO] [stderr]                |          ^^^^^ `token::Text`
[INFO] [stderr]            note: required by a bound in `logos::Lexer`
[INFO] [stderr]               --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/logos-0.14.0/src/lexer.rs:14:34
[INFO] [stderr]                |
[INFO] [stderr]             14 | pub struct Lexer<'source, Token: Logos<'source>> {
[INFO] [stderr]                |                                  ^^^^^^^^^^^^^^ required by this bound in `Lexer`
[INFO] [stderr]                = note: this error originates in the derive macro `Logos` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `Token: Logos<'_>` is not satisfied
[INFO] [stderr]               --> src/token.rs:126:28
[INFO] [stderr]                |
[INFO] [stderr]            126 | fn parse_doc_comment(lex: &Lexer<Token>) -> String {
[INFO] [stderr]                |                            ^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stderr]                |
[INFO] [stderr]            help: the trait `Logos<'_>` is not implemented for `Token`
[INFO] [stderr]               --> src/token.rs:10:1
[INFO] [stderr]                |
[INFO] [stderr]             10 | pub enum Token {
[INFO] [stderr]                | ^^^^^^^^^^^^^^
[INFO] [stderr]            help: the following other types implement trait `Logos<'source>`
[INFO] [stderr]               --> src/token.rs:88:10
[INFO] [stderr]                |
[INFO] [stderr]             88 | #[derive(Logos, Debug, Clone, PartialEq, Eq)]
[INFO] [stderr]                |          ^^^^^ `token::Comment`
[INFO] [stderr]            ...
[INFO] [stderr]             96 | #[derive(Logos, Debug, Clone, PartialEq, Eq)]
[INFO] [stderr]                |          ^^^^^ `token::Text`
[INFO] [stderr]            note: required by a bound in `logos::Lexer`
[INFO] [stderr]               --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/logos-0.14.0/src/lexer.rs:14:34
[INFO] [stderr]                |
[INFO] [stderr]             14 | pub struct Lexer<'source, Token: Logos<'source>> {
[INFO] [stderr]                |                                  ^^^^^^^^^^^^^^ required by this bound in `Lexer`
[INFO] [stderr]                = note: this error originates in the derive macro `Logos` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `Token: Logos<'input>` is not satisfied
[INFO] [stderr]               --> src/token.rs:135:1
[INFO] [stderr]                |
[INFO] [stderr]            135 | pub struct Tokenizer<'input> {
[INFO] [stderr]                | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stderr]                |
[INFO] [stderr]            help: the trait `Logos<'input>` is not implemented for `Token`
[INFO] [stderr]               --> src/token.rs:10:1
[INFO] [stderr]                |
[INFO] [stderr]             10 | pub enum Token {
[INFO] [stderr]                | ^^^^^^^^^^^^^^
[INFO] [stderr]            help: the following other types implement trait `Logos<'source>`
[INFO] [stderr]               --> src/token.rs:88:10
[INFO] [stderr]                |
[INFO] [stderr]             88 | #[derive(Logos, Debug, Clone, PartialEq, Eq)]
[INFO] [stderr]                |          ^^^^^ `token::Comment`
[INFO] [stderr]            ...
[INFO] [stderr]             96 | #[derive(Logos, Debug, Clone, PartialEq, Eq)]
[INFO] [stderr]                |          ^^^^^ `token::Text`
[INFO] [stderr]                = note: this error originates in the derive macro `Logos` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `Token: Logos<'input>` is not satisfied
[INFO] [stderr]              --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/logos-0.14.0/src/lexer.rs:15:5
[INFO] [stderr]               |
[INFO] [stderr]            15 |     source: &'source Token::Source,
[INFO] [stderr]               |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stderr]               |
[INFO] [stderr]            help: the trait `Logos<'input>` is not implemented for `Token`
[INFO] [stderr]              --> src/token.rs:10:1
[INFO] [stderr]               |
[INFO] [stderr]            10 | pub enum Token {
[INFO] [stderr]               | ^^^^^^^^^^^^^^
[INFO] [stderr]            help: the following other types implement trait `Logos<'source>`
[INFO] [stderr]              --> src/token.rs:88:10
[INFO] [stderr]               |
[INFO] [stderr]            88 | #[derive(Logos, Debug, Clone, PartialEq, Eq)]
[INFO] [stderr]               |          ^^^^^ `token::Comment`
[INFO] [stderr]            ...
[INFO] [stderr]            96 | #[derive(Logos, Debug, Clone, PartialEq, Eq)]
[INFO] [stderr]               |          ^^^^^ `token::Text`
[INFO] [stderr]               = note: this error originates in the derive macro `Logos` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `Token: Logos<'input>` is not satisfied
[INFO] [stderr]               --> src/token.rs:143:14
[INFO] [stderr]                |
[INFO] [stderr]            143 | impl<'input> Tokenizer<'input> {
[INFO] [stderr]                |              ^^^^^^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stderr]                |
[INFO] [stderr]            help: the trait `Logos<'input>` is not implemented for `Token`
[INFO] [stderr]               --> src/token.rs:10:1
[INFO] [stderr]                |
[INFO] [stderr]             10 | pub enum Token {
[INFO] [stderr]                | ^^^^^^^^^^^^^^
[INFO] [stderr]            help: the following other types implement trait `Logos<'source>`
[INFO] [stderr]               --> src/token.rs:88:10
[INFO] [stderr]                |
[INFO] [stderr]             88 | #[derive(Logos, Debug, Clone, PartialEq, Eq)]
[INFO] [stderr]                |          ^^^^^ `token::Comment`
[INFO] [stderr]            ...
[INFO] [stderr]             96 | #[derive(Logos, Debug, Clone, PartialEq, Eq)]
[INFO] [stderr]                |          ^^^^^ `token::Text`
[INFO] [stderr]                = note: this error originates in the derive macro `Logos` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `Token: Logos<'_>` is not satisfied
[INFO] [stderr]               --> src/token.rs:240:5
[INFO] [stderr]                |
[INFO] [stderr]            240 |     fn next(&mut self) -> Option<Self::Item> {
[INFO] [stderr]                |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stderr]                |
[INFO] [stderr]            help: the trait `Logos<'_>` is not implemented for `Token`
[INFO] [stderr]               --> src/token.rs:10:1
[INFO] [stderr]                |
[INFO] [stderr]             10 | pub enum Token {
[INFO] [stderr]                | ^^^^^^^^^^^^^^
[INFO] [stderr]            help: the following other types implement trait `Logos<'source>`
[INFO] [stderr]               --> src/token.rs:88:10
[INFO] [stderr]                |
[INFO] [stderr]             88 | #[derive(Logos, Debug, Clone, PartialEq, Eq)]
[INFO] [stderr]                |          ^^^^^ `token::Comment`
[INFO] [stderr]            ...
[INFO] [stderr]             96 | #[derive(Logos, Debug, Clone, PartialEq, Eq)]
[INFO] [stderr]                |          ^^^^^ `token::Text`
[INFO] [stderr]                = note: this error originates in the derive macro `Logos` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `Token: Logos<'_>` is not satisfied
[INFO] [stderr]               --> src/token.rs:238:19
[INFO] [stderr]                |
[INFO] [stderr]            238 | impl Iterator for Tokenizer<'_> {
[INFO] [stderr]                |                   ^^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stderr]                |
[INFO] [stderr]            help: the trait `Logos<'_>` is not implemented for `Token`
[INFO] [stderr]               --> src/token.rs:10:1
[INFO] [stderr]                |
[INFO] [stderr]             10 | pub enum Token {
[INFO] [stderr]                | ^^^^^^^^^^^^^^
[INFO] [stderr]            help: the following other types implement trait `Logos<'source>`
[INFO] [stderr]               --> src/token.rs:88:10
[INFO] [stderr]                |
[INFO] [stderr]             88 | #[derive(Logos, Debug, Clone, PartialEq, Eq)]
[INFO] [stderr]                |          ^^^^^ `token::Comment`
[INFO] [stderr]            ...
[INFO] [stderr]             96 | #[derive(Logos, Debug, Clone, PartialEq, Eq)]
[INFO] [stderr]                |          ^^^^^ `token::Text`
[INFO] [stderr]                = note: this error originates in the derive macro `Logos` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `Token: Logos<'input>` is not satisfied
[INFO] [stderr]               --> src/token.rs:144:39
[INFO] [stderr]                |
[INFO] [stderr]            144 |     pub fn new(input: &'input str) -> Self {
[INFO] [stderr]                |                                       ^^^^ unsatisfied trait bound
[INFO] [stderr]                |
[INFO] [stderr]            help: the trait `Logos<'input>` is not implemented for `Token`
[INFO] [stderr]               --> src/token.rs:10:1
[INFO] [stderr]                |
[INFO] [stderr]             10 | pub enum Token {
[INFO] [stderr]                | ^^^^^^^^^^^^^^
[INFO] [stderr]            help: the following other types implement trait `Logos<'source>`
[INFO] [stderr]               --> src/token.rs:88:10
[INFO] [stderr]                |
[INFO] [stderr]             88 | #[derive(Logos, Debug, Clone, PartialEq, Eq)]
[INFO] [stderr]                |          ^^^^^ `token::Comment`
[INFO] [stderr]            ...
[INFO] [stderr]             96 | #[derive(Logos, Debug, Clone, PartialEq, Eq)]
[INFO] [stderr]                |          ^^^^^ `token::Text`
[INFO] [stderr]                = note: this error originates in the derive macro `Logos` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `Token: Logos<'input>` is not satisfied
[INFO] [stderr]               --> src/token.rs:155:70
[INFO] [stderr]                |
[INFO] [stderr]            155 |     pub fn new_with_trivia(input: &'input str, trivia: TriviaMap) -> Self {
[INFO] [stderr]                |                                                                      ^^^^ unsatisfied trait bound
[INFO] [stderr]                |
[INFO] [stderr]            help: the trait `Logos<'input>` is not implemented for `Token`
[INFO] [stderr]               --> src/token.rs:10:1
[INFO] [stderr]                |
[INFO] [stderr]             10 | pub enum Token {
[INFO] [stderr]                | ^^^^^^^^^^^^^^
[INFO] [stderr]            help: the following other types implement trait `Logos<'source>`
[INFO] [stderr]               --> src/token.rs:88:10
[INFO] [stderr]                |
[INFO] [stderr]             88 | #[derive(Logos, Debug, Clone, PartialEq, Eq)]
[INFO] [stderr]                |          ^^^^^ `token::Comment`
[INFO] [stderr]            ...
[INFO] [stderr]             96 | #[derive(Logos, Debug, Clone, PartialEq, Eq)]
[INFO] [stderr]                |          ^^^^^ `token::Text`
[INFO] [stderr]                = note: this error originates in the derive macro `Logos` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `Token: Logos<'input>` is not satisfied
[INFO] [stderr]               --> src/token.rs:167:31
[INFO] [stderr]                |
[INFO] [stderr]            167 |     fn count_newlines_between(&self, start: usize, end: usize) -> usize {
[INFO] [stderr]                |                               ^^^^^ unsatisfied trait bound
[INFO] [stderr]                |
[INFO] [stderr]            help: the trait `Logos<'input>` is not implemented for `Token`
[INFO] [stderr]               --> src/token.rs:10:1
[INFO] [stderr]                |
[INFO] [stderr]             10 | pub enum Token {
[INFO] [stderr]                | ^^^^^^^^^^^^^^
[INFO] [stderr]            help: the following other types implement trait `Logos<'source>`
[INFO] [stderr]               --> src/token.rs:88:10
[INFO] [stderr]                |
[INFO] [stderr]             88 | #[derive(Logos, Debug, Clone, PartialEq, Eq)]
[INFO] [stderr]                |          ^^^^^ `token::Comment`
[INFO] [stderr]            ...
[INFO] [stderr]             96 | #[derive(Logos, Debug, Clone, PartialEq, Eq)]
[INFO] [stderr]                |          ^^^^^ `token::Text`
[INFO] [stderr]                = note: this error originates in the derive macro `Logos` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `Token: Logos<'input>` is not satisfied
[INFO] [stderr]               --> src/token.rs:178:36
[INFO] [stderr]                |
[INFO] [stderr]            178 |     fn has_blank_line_before_token(&self, token_start: usize) -> bool {
[INFO] [stderr]                |                                    ^^^^^ unsatisfied trait bound
[INFO] [stderr]                |
[INFO] [stderr]            help: the trait `Logos<'input>` is not implemented for `Token`
[INFO] [stderr]               --> src/token.rs:10:1
[INFO] [stderr]                |
[INFO] [stderr]             10 | pub enum Token {
[INFO] [stderr]                | ^^^^^^^^^^^^^^
[INFO] [stderr]            help: the following other types implement trait `Logos<'source>`
[INFO] [stderr]               --> src/token.rs:88:10
[INFO] [stderr]                |
[INFO] [stderr]             88 | #[derive(Logos, Debug, Clone, PartialEq, Eq)]
[INFO] [stderr]                |          ^^^^^ `token::Comment`
[INFO] [stderr]            ...
[INFO] [stderr]             96 | #[derive(Logos, Debug, Clone, PartialEq, Eq)]
[INFO] [stderr]                |          ^^^^^ `token::Text`
[INFO] [stderr]                = note: this error originates in the derive macro `Logos` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `Token: Logos<'input>` is not satisfied
[INFO] [stderr]               --> src/token.rs:185:26
[INFO] [stderr]                |
[INFO] [stderr]            185 |     fn is_inline_comment(&self, comment_start: usize) -> bool {
[INFO] [stderr]                |                          ^^^^^ unsatisfied trait bound
[INFO] [stderr]                |
[INFO] [stderr]            help: the trait `Logos<'input>` is not implemented for `Token`
[INFO] [stderr]               --> src/token.rs:10:1
[INFO] [stderr]                |
[INFO] [stderr]             10 | pub enum Token {
[INFO] [stderr]                | ^^^^^^^^^^^^^^
[INFO] [stderr]            help: the following other types implement trait `Logos<'source>`
[INFO] [stderr]               --> src/token.rs:88:10
[INFO] [stderr]                |
[INFO] [stderr]             88 | #[derive(Logos, Debug, Clone, PartialEq, Eq)]
[INFO] [stderr]                |          ^^^^^ `token::Comment`
[INFO] [stderr]            ...
[INFO] [stderr]             96 | #[derive(Logos, Debug, Clone, PartialEq, Eq)]
[INFO] [stderr]                |          ^^^^^ `token::Text`
[INFO] [stderr]                = note: this error originates in the derive macro `Logos` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `Token: Logos<'input>` is not satisfied
[INFO] [stderr]               --> src/token.rs:192:22
[INFO] [stderr]                |
[INFO] [stderr]            192 |     fn find_line_end(&self, pos: usize) -> usize {
[INFO] [stderr]                |                      ^^^^^ unsatisfied trait bound
[INFO] [stderr]                |
[INFO] [stderr]            help: the trait `Logos<'input>` is not implemented for `Token`
[INFO] [stderr]               --> src/token.rs:10:1
[INFO] [stderr]                |
[INFO] [stderr]             10 | pub enum Token {
[INFO] [stderr]                | ^^^^^^^^^^^^^^
[INFO] [stderr]            help: the following other types implement trait `Logos<'source>`
[INFO] [stderr]               --> src/token.rs:88:10
[INFO] [stderr]                |
[INFO] [stderr]             88 | #[derive(Logos, Debug, Clone, PartialEq, Eq)]
[INFO] [stderr]                |          ^^^^^ `token::Comment`
[INFO] [stderr]            ...
[INFO] [stderr]             96 | #[derive(Logos, Debug, Clone, PartialEq, Eq)]
[INFO] [stderr]                |          ^^^^^ `token::Text`
[INFO] [stderr]                = note: this error originates in the derive macro `Logos` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `Token: Logos<'_>` is not satisfied
[INFO] [stderr]               --> src/token.rs:240:13
[INFO] [stderr]                |
[INFO] [stderr]            240 |     fn next(&mut self) -> Option<Self::Item> {
[INFO] [stderr]                |             ^^^^^^^^^ unsatisfied trait bound
[INFO] [stderr]                |
[INFO] [stderr]            help: the trait `Logos<'_>` is not implemented for `Token`
[INFO] [stderr]               --> src/token.rs:10:1
[INFO] [stderr]                |
[INFO] [stderr]             10 | pub enum Token {
[INFO] [stderr]                | ^^^^^^^^^^^^^^
[INFO] [stderr]            help: the following other types implement trait `Logos<'source>`
[INFO] [stderr]               --> src/token.rs:88:10
[INFO] [stderr]                |
[INFO] [stderr]             88 | #[derive(Logos, Debug, Clone, PartialEq, Eq)]
[INFO] [stderr]                |          ^^^^^ `token::Comment`
[INFO] [stderr]            ...
[INFO] [stderr]             96 | #[derive(Logos, Debug, Clone, PartialEq, Eq)]
[INFO] [stderr]                |          ^^^^^ `token::Text`
[INFO] [stderr]                = note: this error originates in the derive macro `Logos` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: `Token` doesn't implement `Debug`
[INFO] [stderr]              --> src/error.rs:18:19
[INFO] [stderr]               |
[INFO] [stderr]            15 | #[derive(Debug, Error)]
[INFO] [stderr]               |          ----- in this derive macro expansion
[INFO] [stderr]            ...
[INFO] [stderr]            18 |     Parse(#[from] token::ParserError),
[INFO] [stderr]               |                   ^^^^^^^^^^^^^^^^^^ the trait `Debug` is not implemented for `Token`
[INFO] [stderr]               |
[INFO] [stderr]            help: the trait `Debug` is implemented for `ParseError<L, T, E>`
[INFO] [stderr]              --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lalrpop-util-0.20.2/src/lib.rs:14:17
[INFO] [stderr]               |
[INFO] [stderr]            14 | #[derive(Clone, Debug, PartialEq, Eq, PartialOrd, Ord)]
[INFO] [stderr]               |                 ^^^^^
[INFO] [stderr]            help: consider annotating `Token` with `#[derive(Debug)]`
[INFO] [stderr]              --> src/token.rs:10:1
[INFO] [stderr]               |
[INFO] [stderr]            10 + #[derive(Debug)]
[INFO] [stderr]            11 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0599]: the method `as_dyn_error` exists for reference `&ParseError<usize, Token, LexicalError>`, but its trait bounds were not satisfied
[INFO] [stderr]              --> src/error.rs:18:13
[INFO] [stderr]               |
[INFO] [stderr]            18 |     Parse(#[from] token::ParserError),
[INFO] [stderr]               |             ^^^^ method cannot be called on `&ParseError<usize, Token, LexicalError>` due to unsatisfied trait bounds
[INFO] [stderr]               |
[INFO] [stderr]              ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lalrpop-util-0.20.2/src/lib.rs:15:1
[INFO] [stderr]               |
[INFO] [stderr]            15 | pub enum ParseError<L, T, E> {
[INFO] [stderr]               | ---------------------------- doesn't satisfy `ParseError<usize, Token, LexicalError>: StdError` or `_: AsDynError<'_>`
[INFO] [stderr]               |
[INFO] [stderr]               = note: the following trait bounds were not satisfied:
[INFO] [stderr]                       `ParseError<usize, Token, LexicalError>: StdError`
[INFO] [stderr]                       which is required by `ParseError<usize, Token, LexicalError>: thiserror::__private::AsDynError<'_>`
[INFO] [stderr]                       `&ParseError<usize, Token, LexicalError>: StdError`
[INFO] [stderr]                       which is required by `&ParseError<usize, Token, LexicalError>: thiserror::__private::AsDynError<'_>`
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `Token: Logos<'_>` is not satisfied
[INFO] [stderr]              --> src/syntax/mod.rs:47:21
[INFO] [stderr]               |
[INFO] [stderr]            47 |         let lexer = super::token::Tokenizer::new_with_trivia(str, trivia.clone());
[INFO] [stderr]               |                     ^^^^^^^^^^^^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stderr]               |
[INFO] [stderr]            help: the trait `Logos<'_>` is not implemented for `Token`
[INFO] [stderr]              --> src/token.rs:10:1
[INFO] [stderr]               |
[INFO] [stderr]            10 | pub enum Token {
[INFO] [stderr]               | ^^^^^^^^^^^^^^
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `Token: Logos<'_>` is not satisfied
[INFO] [stderr]              --> src/syntax/mod.rs:47:21
[INFO] [stderr]               |
[INFO] [stderr]            47 |         let lexer = super::token::Tokenizer::new_with_trivia(str, trivia.clone());
[INFO] [stderr]               |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stderr]               |
[INFO] [stderr]            help: the trait `Logos<'_>` is not implemented for `Token`
[INFO] [stderr]              --> src/token.rs:10:1
[INFO] [stderr]               |
[INFO] [stderr]            10 | pub enum Token {
[INFO] [stderr]               | ^^^^^^^^^^^^^^
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `Token: Logos<'_>` is not satisfied
[INFO] [stderr]              --> src/syntax/mod.rs:48:12
[INFO] [stderr]               |
[INFO] [stderr]            48 |         Ok(super::grammar::TypParser::new().parse(Some(&trivia), lexer)?)
[INFO] [stderr]               |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stderr]               |
[INFO] [stderr]            help: the trait `Logos<'_>` is not implemented for `Token`
[INFO] [stderr]              --> src/token.rs:10:1
[INFO] [stderr]               |
[INFO] [stderr]            10 | pub enum Token {
[INFO] [stderr]               | ^^^^^^^^^^^^^^
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `Token: Logos<'_>` is not satisfied
[INFO] [stderr]              --> src/syntax/mod.rs:61:21
[INFO] [stderr]               |
[INFO] [stderr]            61 |         let lexer = super::token::Tokenizer::new_with_trivia(str, trivia.clone());
[INFO] [stderr]               |                     ^^^^^^^^^^^^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stderr]               |
[INFO] [stderr]            help: the trait `Logos<'_>` is not implemented for `Token`
[INFO] [stderr]              --> src/token.rs:10:1
[INFO] [stderr]               |
[INFO] [stderr]            10 | pub enum Token {
[INFO] [stderr]               | ^^^^^^^^^^^^^^
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `Token: Logos<'_>` is not satisfied
[INFO] [stderr]              --> src/syntax/mod.rs:61:21
[INFO] [stderr]               |
[INFO] [stderr]            61 |         let lexer = super::token::Tokenizer::new_with_trivia(str, trivia.clone());
[INFO] [stderr]               |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stderr]               |
[INFO] [stderr]            help: the trait `Logos<'_>` is not implemented for `Token`
[INFO] [stderr]              --> src/token.rs:10:1
[INFO] [stderr]               |
[INFO] [stderr]            10 | pub enum Token {
[INFO] [stderr]               | ^^^^^^^^^^^^^^
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `Token: Logos<'_>` is not satisfied
[INFO] [stderr]              --> src/syntax/mod.rs:62:12
[INFO] [stderr]               |
[INFO] [stderr]            62 |         Ok(super::grammar::TypsParser::new().parse(Some(&trivia), lexer)?)
[INFO] [stderr]               |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stderr]               |
[INFO] [stderr]            help: the trait `Logos<'_>` is not implemented for `Token`
[INFO] [stderr]              --> src/token.rs:10:1
[INFO] [stderr]               |
[INFO] [stderr]            10 | pub enum Token {
[INFO] [stderr]               | ^^^^^^^^^^^^^^
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `Token: Logos<'_>` is not satisfied
[INFO] [stderr]               --> src/syntax/mod.rs:162:21
[INFO] [stderr]                |
[INFO] [stderr]            162 |         let lexer = super::token::Tokenizer::new_with_trivia(str, trivia.clone());
[INFO] [stderr]                |                     ^^^^^^^^^^^^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stderr]                |
[INFO] [stderr]            help: the trait `Logos<'_>` is not implemented for `Token`
[INFO] [stderr]               --> src/token.rs:10:1
[INFO] [stderr]                |
[INFO] [stderr]             10 | pub enum Token {
[INFO] [stderr]                | ^^^^^^^^^^^^^^
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `Token: Logos<'_>` is not satisfied
[INFO] [stderr]               --> src/syntax/mod.rs:162:21
[INFO] [stderr]                |
[INFO] [stderr]            162 |         let lexer = super::token::Tokenizer::new_with_trivia(str, trivia.clone());
[INFO] [stderr]                |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stderr]                |
[INFO] [stderr]            help: the trait `Logos<'_>` is not implemented for `Token`
[INFO] [stderr]               --> src/token.rs:10:1
[INFO] [stderr]                |
[INFO] [stderr]             10 | pub enum Token {
[INFO] [stderr]                | ^^^^^^^^^^^^^^
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `Token: Logos<'_>` is not satisfied
[INFO] [stderr]               --> src/syntax/mod.rs:163:12
[INFO] [stderr]                |
[INFO] [stderr]            163 |         Ok(super::grammar::IDLProgParser::new().parse(Some(&trivia), lexer)?)
[INFO] [stderr]                |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stderr]                |
[INFO] [stderr]            help: the trait `Logos<'_>` is not implemented for `Token`
[INFO] [stderr]               --> src/token.rs:10:1
[INFO] [stderr]                |
[INFO] [stderr]             10 | pub enum Token {
[INFO] [stderr]                | ^^^^^^^^^^^^^^
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `Token: Logos<'_>` is not satisfied
[INFO] [stderr]               --> src/syntax/mod.rs:177:21
[INFO] [stderr]                |
[INFO] [stderr]            177 |         let lexer = super::token::Tokenizer::new_with_trivia(str, trivia.clone());
[INFO] [stderr]                |                     ^^^^^^^^^^^^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stderr]                |
[INFO] [stderr]            help: the trait `Logos<'_>` is not implemented for `Token`
[INFO] [stderr]               --> src/token.rs:10:1
[INFO] [stderr]                |
[INFO] [stderr]             10 | pub enum Token {
[INFO] [stderr]                | ^^^^^^^^^^^^^^
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `Token: Logos<'_>` is not satisfied
[INFO] [stderr]               --> src/syntax/mod.rs:177:21
[INFO] [stderr]                |
[INFO] [stderr]            177 |         let lexer = super::token::Tokenizer::new_with_trivia(str, trivia.clone());
[INFO] [stderr]                |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stderr]                |
[INFO] [stderr]            help: the trait `Logos<'_>` is not implemented for `Token`
[INFO] [stderr]               --> src/token.rs:10:1
[INFO] [stderr]                |
[INFO] [stderr]             10 | pub enum Token {
[INFO] [stderr]                | ^^^^^^^^^^^^^^
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `Token: Logos<'_>` is not satisfied
[INFO] [stderr]               --> src/syntax/mod.rs:178:12
[INFO] [stderr]                |
[INFO] [stderr]            178 |         Ok(super::grammar::IDLInitArgsParser::new().parse(Some(&trivia), lexer)?)
[INFO] [stderr]                |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stderr]                |
[INFO] [stderr]            help: the trait `Logos<'_>` is not implemented for `Token`
[INFO] [stderr]               --> src/token.rs:10:1
[INFO] [stderr]                |
[INFO] [stderr]             10 | pub enum Token {
[INFO] [stderr]                | ^^^^^^^^^^^^^^
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: `Token` doesn't implement `Debug`
[INFO] [stderr]               --> src/token.rs:113:22
[INFO] [stderr]                |
[INFO] [stderr]            113 |         write!(fmt, "{self:?}")
[INFO] [stderr]                |                      ^^^^^^^^ `Token` cannot be formatted using `{:?}` because it doesn't implement `Debug`
[INFO] [stderr]                |
[INFO] [stderr]                = help: the trait `Debug` is not implemented for `Token`
[INFO] [stderr]                = note: required for `&Token` to implement `Debug`
[INFO] [stderr]            help: consider annotating `Token` with `#[derive(Debug)]`
[INFO] [stderr]                |
[INFO] [stderr]             10 + #[derive(Debug)]
[INFO] [stderr]             11 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0599]: the method `slice` exists for mutable reference `&mut logos::Lexer<'_, Token>`, but its trait bounds were not satisfied
[INFO] [stderr]               --> src/token.rs:118:20
[INFO] [stderr]                |
[INFO] [stderr]             10 | pub enum Token {
[INFO] [stderr]                | -------------- doesn't satisfy `Token: Logos<'_>`
[INFO] [stderr]            ...
[INFO] [stderr]            118 |     let iter = lex.slice().chars().filter(|c| *c != '_');
[INFO] [stderr]                |                    ^^^^^ method cannot be called on `&mut logos::Lexer<'_, Token>` due to unsatisfied trait bounds
[INFO] [stderr]                |
[INFO] [stderr]                = note: the following trait bounds were not satisfied:
[INFO] [stderr]                        `Token: Logos<'_>`
[INFO] [stderr]            note: the trait `Logos` must be implemented
[INFO] [stderr]               --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/logos-0.14.0/src/lib.rs:44:1
[INFO] [stderr]                |
[INFO] [stderr]             44 | pub trait Logos<'source>: Sized {
[INFO] [stderr]                | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0599]: the method `slice` exists for mutable reference `&mut logos::Lexer<'_, Token>`, but its trait bounds were not satisfied
[INFO] [stderr]               --> src/token.rs:119:12
[INFO] [stderr]                |
[INFO] [stderr]             10 | pub enum Token {
[INFO] [stderr]                | -------------- doesn't satisfy `Token: Logos<'_>`
[INFO] [stderr]            ...
[INFO] [stderr]            119 |     if lex.slice().starts_with("0x") {
[INFO] [stderr]                |            ^^^^^ method cannot be called on `&mut logos::Lexer<'_, Token>` due to unsatisfied trait bounds
[INFO] [stderr]                |
[INFO] [stderr]                = note: the following trait bounds were not satisfied:
[INFO] [stderr]                        `Token: Logos<'_>`
[INFO] [stderr]            note: the trait `Logos` must be implemented
[INFO] [stderr]               --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/logos-0.14.0/src/lib.rs:44:1
[INFO] [stderr]                |
[INFO] [stderr]             44 | pub trait Logos<'source>: Sized {
[INFO] [stderr]                | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0599]: the method `slice` exists for reference `&logos::Lexer<'_, Token>`, but its trait bounds were not satisfied
[INFO] [stderr]               --> src/token.rs:127:9
[INFO] [stderr]                |
[INFO] [stderr]             10 | pub enum Token {
[INFO] [stderr]                | -------------- doesn't satisfy `Token: Logos<'_>`
[INFO] [stderr]            ...
[INFO] [stderr]            127 |     lex.slice()
[INFO] [stderr]                |         ^^^^^ method cannot be called on `&logos::Lexer<'_, Token>` due to unsatisfied trait bounds
[INFO] [stderr]                |
[INFO] [stderr]                = note: the following trait bounds were not satisfied:
[INFO] [stderr]                        `Token: Logos<'_>`
[INFO] [stderr]            note: the trait `Logos` must be implemented
[INFO] [stderr]               --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/logos-0.14.0/src/lib.rs:44:1
[INFO] [stderr]                |
[INFO] [stderr]             44 | pub trait Logos<'source>: Sized {
[INFO] [stderr]                | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0599]: no variant, associated function, or constant named `lexer` found for enum `Token` in the current scope
[INFO] [stderr]               --> src/token.rs:145:26
[INFO] [stderr]                |
[INFO] [stderr]             10 | pub enum Token {
[INFO] [stderr]                | -------------- variant, associated function, or constant `lexer` not found for this enum
[INFO] [stderr]            ...
[INFO] [stderr]            145 |         let lex = Token::lexer(input);
[INFO] [stderr]                |                          ^^^^^ variant, associated function, or constant not found in `Token`
[INFO] [stderr]                |
[INFO] [stderr]                = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stderr]                = note: the following trait defines an item `lexer`, perhaps you need to implement it:
[INFO] [stderr]                        candidate #1: `Logos`
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `Token: Logos<'_>` is not satisfied
[INFO] [stderr]               --> src/token.rs:146:9
[INFO] [stderr]                |
[INFO] [stderr]            146 |         Tokenizer {
[INFO] [stderr]                |         ^^^^^^^^^ unsatisfied trait bound
[INFO] [stderr]                |
[INFO] [stderr]            help: the trait `Logos<'_>` is not implemented for `Token`
[INFO] [stderr]               --> src/token.rs:10:1
[INFO] [stderr]                |
[INFO] [stderr]             10 | pub enum Token {
[INFO] [stderr]                | ^^^^^^^^^^^^^^
[INFO] [stderr]            help: the following other types implement trait `Logos<'source>`
[INFO] [stderr]               --> src/token.rs:88:10
[INFO] [stderr]                |
[INFO] [stderr]             88 | #[derive(Logos, Debug, Clone, PartialEq, Eq)]
[INFO] [stderr]                |          ^^^^^ `token::Comment`
[INFO] [stderr]            ...
[INFO] [stderr]             96 | #[derive(Logos, Debug, Clone, PartialEq, Eq)]
[INFO] [stderr]                |          ^^^^^ `token::Text`
[INFO] [stderr]                = note: this error originates in the derive macro `Logos` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0599]: no variant, associated function, or constant named `lexer` found for enum `Token` in the current scope
[INFO] [stderr]               --> src/token.rs:156:26
[INFO] [stderr]                |
[INFO] [stderr]             10 | pub enum Token {
[INFO] [stderr]                | -------------- variant, associated function, or constant `lexer` not found for this enum
[INFO] [stderr]            ...
[INFO] [stderr]            156 |         let lex = Token::lexer(input);
[INFO] [stderr]                |                          ^^^^^ variant, associated function, or constant not found in `Token`
[INFO] [stderr]                |
[INFO] [stderr]                = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stderr]                = note: the following trait defines an item `lexer`, perhaps you need to implement it:
[INFO] [stderr]                        candidate #1: `Logos`
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `Token: Logos<'_>` is not satisfied
[INFO] [stderr]               --> src/token.rs:157:9
[INFO] [stderr]                |
[INFO] [stderr]            157 |         Tokenizer {
[INFO] [stderr]                |         ^^^^^^^^^ unsatisfied trait bound
[INFO] [stderr]                |
[INFO] [stderr]            help: the trait `Logos<'_>` is not implemented for `Token`
[INFO] [stderr]               --> src/token.rs:10:1
[INFO] [stderr]                |
[INFO] [stderr]             10 | pub enum Token {
[INFO] [stderr]                | ^^^^^^^^^^^^^^
[INFO] [stderr]            help: the following other types implement trait `Logos<'source>`
[INFO] [stderr]               --> src/token.rs:88:10
[INFO] [stderr]                |
[INFO] [stderr]             88 | #[derive(Logos, Debug, Clone, PartialEq, Eq)]
[INFO] [stderr]                |          ^^^^^ `token::Comment`
[INFO] [stderr]            ...
[INFO] [stderr]             96 | #[derive(Logos, Debug, Clone, PartialEq, Eq)]
[INFO] [stderr]                |          ^^^^^ `token::Text`
[INFO] [stderr]                = note: this error originates in the derive macro `Logos` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0599]: the method `source` exists for struct `logos::Lexer<'input, Token>`, but its trait bounds were not satisfied
[INFO] [stderr]               --> src/token.rs:168:31
[INFO] [stderr]                |
[INFO] [stderr]             10 | pub enum Token {
[INFO] [stderr]                | -------------- doesn't satisfy `Token: Logos<'_>`
[INFO] [stderr]            ...
[INFO] [stderr]            168 |         let source = self.lex.source();
[INFO] [stderr]                |                               ^^^^^^ private field, not a method
[INFO] [stderr]                |
[INFO] [stderr]                = note: the following trait bounds were not satisfied:
[INFO] [stderr]                        `Token: Logos<'_>`
[INFO] [stderr]            note: the trait `Logos` must be implemented
[INFO] [stderr]               --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/logos-0.14.0/src/lib.rs:44:1
[INFO] [stderr]                |
[INFO] [stderr]             44 | pub trait Logos<'source>: Sized {
[INFO] [stderr]                | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `Token: Logos<'_>` is not satisfied
[INFO] [stderr]               --> src/token.rs:180:29
[INFO] [stderr]                |
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]   --> src/bindings/javascript.rs:11:27
[INFO] [stdout]    |
[INFO] [stdout] 11 |         TypeInner::Record(ref fs) => is_tuple_fields(fs),
[INFO] [stdout]    |                           ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]    |
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]   --> src/bindings/javascript.rs:11:9
[INFO] [stdout]    |
[INFO] [stdout] 11 |         TypeInner::Record(ref fs) => is_tuple_fields(fs),
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout]    = warning: this changes meaning in Rust 2024
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout]    = note: `--force-warn rust-2024-incompatible-pat` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]    |
[INFO] [stdout] 11 -         TypeInner::Record(ref fs) => is_tuple_fields(fs),
[INFO] [stdout] 11 +         TypeInner::Record(fs) => is_tuple_fields(fs),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]            180 |             .map(|end| self.count_newlines_between(end, token_start) >= 2)
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]    --> src/bindings/javascript.rs:122:13
[INFO] [stdout]     |
[INFO] [stdout] 122 |         Var(ref s) => ident(s),
[INFO] [stdout]     |             ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]    --> src/bindings/javascript.rs:122:9
[INFO] [stdout]     |
[INFO] [stdout] 122 |         Var(ref s) => ident(s),
[INFO] [stdout]     |         ^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]     |
[INFO] [stdout] 122 -         Var(ref s) => ident(s),
[INFO] [stdout] 122 +         Var(s) => ident(s),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]                |                             ^^^^^^^^^^^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]    --> src/bindings/javascript.rs:124:13
[INFO] [stdout]     |
[INFO] [stdout] 124 |         Opt(ref t) => str("IDL.Opt").append(enclose("(", pp_ty(t), ")")),
[INFO] [stdout]     |             ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]    --> src/bindings/javascript.rs:124:9
[INFO] [stdout]     |
[INFO] [stdout] 124 |         Opt(ref t) => str("IDL.Opt").append(enclose("(", pp_ty(t), ")")),
[INFO] [stdout]     |         ^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]     |
[INFO] [stdout] 124 -         Opt(ref t) => str("IDL.Opt").append(enclose("(", pp_ty(t), ")")),
[INFO] [stdout] 124 +         Opt(t) => str("IDL.Opt").append(enclose("(", pp_ty(t), ")")),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]                |
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]    --> src/bindings/javascript.rs:125:13
[INFO] [stdout]     |
[INFO] [stdout] 125 |         Vec(ref t) => str("IDL.Vec").append(enclose("(", pp_ty(t), ")")),
[INFO] [stdout]     |             ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]    --> src/bindings/javascript.rs:125:9
[INFO] [stdout]     |
[INFO] [stdout] 125 |         Vec(ref t) => str("IDL.Vec").append(enclose("(", pp_ty(t), ")")),
[INFO] [stdout]     |         ^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]     |
[INFO] [stdout] 125 -         Vec(ref t) => str("IDL.Vec").append(enclose("(", pp_ty(t), ")")),
[INFO] [stdout] 125 +         Vec(t) => str("IDL.Vec").append(enclose("(", pp_ty(t), ")")),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]            help: the trait `Logos<'_>` is not implemented for `Token`
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]    --> src/bindings/javascript.rs:126:16
[INFO] [stdout]     |
[INFO] [stdout] 126 |         Record(ref fs) => {
[INFO] [stdout]     |                ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]    --> src/bindings/javascript.rs:126:9
[INFO] [stdout]     |
[INFO] [stdout] 126 |         Record(ref fs) => {
[INFO] [stdout]     |         ^^^^^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]     |
[INFO] [stdout] 126 -         Record(ref fs) => {
[INFO] [stdout] 126 +         Record(fs) => {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]               --> src/token.rs:10:1
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]    --> src/bindings/javascript.rs:134:17
[INFO] [stdout]     |
[INFO] [stdout] 134 |         Variant(ref fs) => str("IDL.Variant").append(pp_fields(fs)),
[INFO] [stdout]     |                 ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]    --> src/bindings/javascript.rs:134:9
[INFO] [stdout]     |
[INFO] [stdout] 134 |         Variant(ref fs) => str("IDL.Variant").append(pp_fields(fs)),
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]     |
[INFO] [stdout] 134 -         Variant(ref fs) => str("IDL.Variant").append(pp_fields(fs)),
[INFO] [stdout] 134 +         Variant(fs) => str("IDL.Variant").append(pp_fields(fs)),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]                |
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]    --> src/bindings/javascript.rs:135:14
[INFO] [stdout]     |
[INFO] [stdout] 135 |         Func(ref func) => str("IDL.Func").append(pp_function(func)),
[INFO] [stdout]     |              ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]    --> src/bindings/javascript.rs:135:9
[INFO] [stdout]     |
[INFO] [stdout] 135 |         Func(ref func) => str("IDL.Func").append(pp_function(func)),
[INFO] [stdout]     |         ^^^^^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]     |
[INFO] [stdout] 135 -         Func(ref func) => str("IDL.Func").append(pp_function(func)),
[INFO] [stdout] 135 +         Func(func) => str("IDL.Func").append(pp_function(func)),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]             10 | pub enum Token {
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]    --> src/bindings/javascript.rs:136:17
[INFO] [stdout]     |
[INFO] [stdout] 136 |         Service(ref serv) => str("IDL.Service").append(pp_service(serv)),
[INFO] [stdout]     |                 ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]    --> src/bindings/javascript.rs:136:9
[INFO] [stdout]     |
[INFO] [stdout] 136 |         Service(ref serv) => str("IDL.Service").append(pp_service(serv)),
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]     |
[INFO] [stdout] 136 -         Service(ref serv) => str("IDL.Service").append(pp_service(serv)),
[INFO] [stdout] 136 +         Service(serv) => str("IDL.Service").append(pp_service(serv)),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]                | ^^^^^^^^^^^^^^
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]    --> src/bindings/javascript.rs:252:48
[INFO] [stdout]     |
[INFO] [stdout] 252 |             let init = if let TypeInner::Class(ref args, _) = actor.as_ref() {
[INFO] [stdout]     |                                                ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]    --> src/bindings/javascript.rs:252:31
[INFO] [stdout]     |
[INFO] [stdout] 252 |             let init = if let TypeInner::Class(ref args, _) = actor.as_ref() {
[INFO] [stdout]     |                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]     |
[INFO] [stdout] 252 -             let init = if let TypeInner::Class(ref args, _) = actor.as_ref() {
[INFO] [stdout] 252 +             let init = if let TypeInner::Class(args, _) = actor.as_ref() {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]            help: the following other types implement trait `Logos<'source>`
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]    --> src/bindings/javascript.rs:285:30
[INFO] [stdout]     |
[INFO] [stdout] 285 |             IDLValue::Record(ref fs) => {
[INFO] [stdout]     |                              ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]    --> src/bindings/javascript.rs:285:13
[INFO] [stdout]     |
[INFO] [stdout] 285 |             IDLValue::Record(ref fs) => {
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]     |
[INFO] [stdout] 285 -             IDLValue::Record(ref fs) => {
[INFO] [stdout] 285 +             IDLValue::Record(fs) => {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]               --> src/token.rs:88:10
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]   --> src/bindings/motoko.rs:14:27
[INFO] [stdout]    |
[INFO] [stdout] 14 |         TypeInner::Record(ref fs) => is_tuple_fields(fs),
[INFO] [stdout]    |                           ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]    |
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]   --> src/bindings/motoko.rs:14:9
[INFO] [stdout]    |
[INFO] [stdout] 14 |         TypeInner::Record(ref fs) => is_tuple_fields(fs),
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout]    = warning: this changes meaning in Rust 2024
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]    |
[INFO] [stdout] 14 -         TypeInner::Record(ref fs) => is_tuple_fields(fs),
[INFO] [stdout] 14 +         TypeInner::Record(fs) => is_tuple_fields(fs),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]                |
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]    --> src/bindings/motoko.rs:101:29
[INFO] [stdout]     |
[INFO] [stdout] 101 |         (TypeInner::Service(ref meths), Some(IDLType::ServT(methods))) => {
[INFO] [stdout]     |                             ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]    --> src/bindings/motoko.rs:101:10
[INFO] [stdout]     |
[INFO] [stdout] 101 |         (TypeInner::Service(ref meths), Some(IDLType::ServT(methods))) => {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]     |
[INFO] [stdout] 101 -         (TypeInner::Service(ref meths), Some(IDLType::ServT(methods))) => {
[INFO] [stdout] 101 +         (TypeInner::Service(meths), Some(IDLType::ServT(methods))) => {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]             88 | #[derive(Logos, Debug, Clone, PartialEq, Eq)]
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]    --> src/bindings/motoko.rs:104:27
[INFO] [stdout]     |
[INFO] [stdout] 104 |         (TypeInner::Class(ref args, t), Some(IDLType::ClassT(_, syntax_t))) => {
[INFO] [stdout]     |                           ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]    --> src/bindings/motoko.rs:104:10
[INFO] [stdout]     |
[INFO] [stdout] 104 |         (TypeInner::Class(ref args, t), Some(IDLType::ClassT(_, syntax_t))) => {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]     |
[INFO] [stdout] 104 -         (TypeInner::Class(ref args, t), Some(IDLType::ClassT(_, syntax_t))) => {
[INFO] [stdout] 104 +         (TypeInner::Class(args, t), Some(IDLType::ClassT(_, syntax_t))) => {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]                |          ^^^^^ `token::Comment`
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]    --> src/bindings/motoko.rs:107:28
[INFO] [stdout]     |
[INFO] [stdout] 107 |         (TypeInner::Record(ref fields), Some(IDLType::RecordT(syntax_fields))) => {
[INFO] [stdout]     |                            ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]    --> src/bindings/motoko.rs:107:10
[INFO] [stdout]     |
[INFO] [stdout] 107 |         (TypeInner::Record(ref fields), Some(IDLType::RecordT(syntax_fields))) => {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]     |
[INFO] [stdout] 107 -         (TypeInner::Record(ref fields), Some(IDLType::RecordT(syntax_fields))) => {
[INFO] [stdout] 107 +         (TypeInner::Record(fields), Some(IDLType::RecordT(syntax_fields))) => {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]            ...
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]    --> src/bindings/motoko.rs:110:29
[INFO] [stdout]     |
[INFO] [stdout] 110 |         (TypeInner::Variant(ref fields), Some(IDLType::VariantT(syntax_fields))) => {
[INFO] [stdout]     |                             ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]    --> src/bindings/motoko.rs:110:10
[INFO] [stdout]     |
[INFO] [stdout] 110 |         (TypeInner::Variant(ref fields), Some(IDLType::VariantT(syntax_fields))) => {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]     |
[INFO] [stdout] 110 -         (TypeInner::Variant(ref fields), Some(IDLType::VariantT(syntax_fields))) => {
[INFO] [stdout] 110 +         (TypeInner::Variant(fields), Some(IDLType::VariantT(syntax_fields))) => {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]             96 | #[derive(Logos, Debug, Clone, PartialEq, Eq)]
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]    --> src/bindings/motoko.rs:113:25
[INFO] [stdout]     |
[INFO] [stdout] 113 |         (TypeInner::Opt(ref inner), Some(IDLType::OptT(syntax))) => {
[INFO] [stdout]     |                         ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]    --> src/bindings/motoko.rs:113:10
[INFO] [stdout]     |
[INFO] [stdout] 113 |         (TypeInner::Opt(ref inner), Some(IDLType::OptT(syntax))) => {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]     |
[INFO] [stdout] 113 -         (TypeInner::Opt(ref inner), Some(IDLType::OptT(syntax))) => {
[INFO] [stdout] 113 +         (TypeInner::Opt(inner), Some(IDLType::OptT(syntax))) => {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]                |          ^^^^^ `token::Text`
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]    --> src/bindings/motoko.rs:116:25
[INFO] [stdout]     |
[INFO] [stdout] 116 |         (TypeInner::Vec(ref inner), Some(IDLType::VecT(syntax))) => pp_vec(inner, Some(syntax)),
[INFO] [stdout]     |                         ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]    --> src/bindings/motoko.rs:116:10
[INFO] [stdout]     |
[INFO] [stdout] 116 |         (TypeInner::Vec(ref inner), Some(IDLType::VecT(syntax))) => pp_vec(inner, Some(syntax)),
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]     |
[INFO] [stdout] 116 -         (TypeInner::Vec(ref inner), Some(IDLType::VecT(syntax))) => pp_vec(inner, Some(syntax)),
[INFO] [stdout] 116 +         (TypeInner::Vec(inner), Some(IDLType::VecT(syntax))) => pp_vec(inner, Some(syntax)),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]                = note: this error originates in the derive macro `Logos` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]    --> src/bindings/motoko.rs:141:13
[INFO] [stdout]     |
[INFO] [stdout] 141 |         Var(ref s) => escape(s, false),
[INFO] [stdout]     |             ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]    --> src/bindings/motoko.rs:141:9
[INFO] [stdout]     |
[INFO] [stdout] 141 |         Var(ref s) => escape(s, false),
[INFO] [stdout]     |         ^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]     |
[INFO] [stdout] 141 -         Var(ref s) => escape(s, false),
[INFO] [stdout] 141 +         Var(s) => escape(s, false),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]            
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]    --> src/bindings/motoko.rs:143:13
[INFO] [stdout]     |
[INFO] [stdout] 143 |         Opt(ref t) => str("?").append(pp_ty(t)),
[INFO] [stdout]     |             ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]    --> src/bindings/motoko.rs:143:9
[INFO] [stdout]     |
[INFO] [stdout] 143 |         Opt(ref t) => str("?").append(pp_ty(t)),
[INFO] [stdout]     |         ^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]     |
[INFO] [stdout] 143 -         Opt(ref t) => str("?").append(pp_ty(t)),
[INFO] [stdout] 143 +         Opt(t) => str("?").append(pp_ty(t)),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]            
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]    --> src/bindings/motoko.rs:144:13
[INFO] [stdout]     |
[INFO] [stdout] 144 |         Vec(ref t) => pp_vec(t, None),
[INFO] [stdout]     |             ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]    --> src/bindings/motoko.rs:144:9
[INFO] [stdout]     |
[INFO] [stdout] 144 |         Vec(ref t) => pp_vec(t, None),
[INFO] [stdout]     |         ^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]     |
[INFO] [stdout] 144 -         Vec(ref t) => pp_vec(t, None),
[INFO] [stdout] 144 +         Vec(t) => pp_vec(t, None),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]            error[E0599]: the method `source` exists for struct `logos::Lexer<'input, Token>`, but its trait bounds were not satisfied
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]    --> src/bindings/motoko.rs:145:16
[INFO] [stdout]     |
[INFO] [stdout] 145 |         Record(ref fs) => pp_record(fs, None),
[INFO] [stdout]     |                ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]    --> src/bindings/motoko.rs:145:9
[INFO] [stdout]     |
[INFO] [stdout] 145 |         Record(ref fs) => pp_record(fs, None),
[INFO] [stdout]     |         ^^^^^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]     |
[INFO] [stdout] 145 -         Record(ref fs) => pp_record(fs, None),
[INFO] [stdout] 145 +         Record(fs) => pp_record(fs, None),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]               --> src/token.rs:193:31
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]    --> src/bindings/motoko.rs:146:17
[INFO] [stdout]     |
[INFO] [stdout] 146 |         Variant(ref fs) => pp_variant(fs, None),
[INFO] [stdout]     |                 ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]    --> src/bindings/motoko.rs:146:9
[INFO] [stdout]     |
[INFO] [stdout] 146 |         Variant(ref fs) => pp_variant(fs, None),
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]     |
[INFO] [stdout] 146 -         Variant(ref fs) => pp_variant(fs, None),
[INFO] [stdout] 146 +         Variant(fs) => pp_variant(fs, None),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]                |
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]    --> src/bindings/motoko.rs:147:14
[INFO] [stdout]     |
[INFO] [stdout] 147 |         Func(ref func) => pp_function(func),
[INFO] [stdout]     |              ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]    --> src/bindings/motoko.rs:147:9
[INFO] [stdout]     |
[INFO] [stdout] 147 |         Func(ref func) => pp_function(func),
[INFO] [stdout]     |         ^^^^^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]     |
[INFO] [stdout] 147 -         Func(ref func) => pp_function(func),
[INFO] [stdout] 147 +         Func(func) => pp_function(func),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]             10 | pub enum Token {
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]    --> src/bindings/motoko.rs:148:17
[INFO] [stdout]     |
[INFO] [stdout] 148 |         Service(ref serv) => pp_service(serv, None),
[INFO] [stdout]     |                 ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]    --> src/bindings/motoko.rs:148:9
[INFO] [stdout]     |
[INFO] [stdout] 148 |         Service(ref serv) => pp_service(serv, None),
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]     |
[INFO] [stdout] 148 -         Service(ref serv) => pp_service(serv, None),
[INFO] [stdout] 148 +         Service(serv) => pp_service(serv, None),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]                | -------------- doesn't satisfy `Token: Logos<'_>`
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]    --> src/bindings/motoko.rs:149:15
[INFO] [stdout]     |
[INFO] [stdout] 149 |         Class(ref args, ref t) => pp_class((args, t), None),
[INFO] [stdout]     |               ^^^       ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]     |               |
[INFO] [stdout]     |               explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]    --> src/bindings/motoko.rs:149:9
[INFO] [stdout]     |
[INFO] [stdout] 149 |         Class(ref args, ref t) => pp_class((args, t), None),
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout] help: remove the unnecessary binding modifiers
[INFO] [stdout]     |
[INFO] [stdout] 149 -         Class(ref args, ref t) => pp_class((args, t), None),
[INFO] [stdout] 149 +         Class(args, t) => pp_class((args, t), None),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]            ...
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]    --> src/bindings/motoko.rs:313:28
[INFO] [stdout]     |
[INFO] [stdout] 313 |         TypeInner::Service(ref serv) => match syntax {
[INFO] [stdout]     |                            ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]    --> src/bindings/motoko.rs:313:9
[INFO] [stdout]     |
[INFO] [stdout] 313 |         TypeInner::Service(ref serv) => match syntax {
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]     |
[INFO] [stdout] 313 -         TypeInner::Service(ref serv) => match syntax {
[INFO] [stdout] 313 +         TypeInner::Service(serv) => match syntax {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]            193 |         let source = self.lex.source();
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]    --> src/bindings/motoko.rs:315:37
[INFO] [stdout]     |
[INFO] [stdout] 315 |                 typ: IDLType::ServT(ref fields),
[INFO] [stdout]     |                                     ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]    --> src/bindings/motoko.rs:314:18
[INFO] [stdout]     |
[INFO] [stdout] 314 |               Some(IDLActorType {
[INFO] [stdout]     |  __________________^
[INFO] [stdout] 315 | |                 typ: IDLType::ServT(ref fields),
[INFO] [stdout] 316 | |                 docs,
[INFO] [stdout] 317 | |             }) => {
[INFO] [stdout]     | |_____________^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]     |
[INFO] [stdout] 315 -                 typ: IDLType::ServT(ref fields),
[INFO] [stdout] 315 +                 typ: IDLType::ServT(fields),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]                |                               ^^^^^^ private field, not a method
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]    --> src/bindings/motoko.rs:323:26
[INFO] [stdout]     |
[INFO] [stdout] 323 |         TypeInner::Class(ref args, ref t) => match syntax {
[INFO] [stdout]     |                          ^^^       ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]     |                          |
[INFO] [stdout]     |                          explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]    --> src/bindings/motoko.rs:323:9
[INFO] [stdout]     |
[INFO] [stdout] 323 |         TypeInner::Class(ref args, ref t) => match syntax {
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout] help: remove the unnecessary binding modifiers
[INFO] [stdout]     |
[INFO] [stdout] 323 -         TypeInner::Class(ref args, ref t) => match syntax {
[INFO] [stdout] 323 +         TypeInner::Class(args, t) => match syntax {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]                |
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]    --> src/bindings/rust.rs:262:21
[INFO] [stdout]     |
[INFO] [stdout] 262 |                 Var(ref id) => self.pp_var(id, is_ref),
[INFO] [stdout]     |                     ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]    --> src/bindings/rust.rs:262:17
[INFO] [stdout]     |
[INFO] [stdout] 262 |                 Var(ref id) => self.pp_var(id, is_ref),
[INFO] [stdout]     |                 ^^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]     |
[INFO] [stdout] 262 -                 Var(ref id) => self.pp_var(id, is_ref),
[INFO] [stdout] 262 +                 Var(id) => self.pp_var(id, is_ref),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]                = note: the following trait bounds were not satisfied:
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]    --> src/bindings/rust.rs:264:21
[INFO] [stdout]     |
[INFO] [stdout] 264 |                 Opt(ref t) => self.pp_opt(t, is_ref),
[INFO] [stdout]     |                     ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]    --> src/bindings/rust.rs:264:17
[INFO] [stdout]     |
[INFO] [stdout] 264 |                 Opt(ref t) => self.pp_opt(t, is_ref),
[INFO] [stdout]     |                 ^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]     |
[INFO] [stdout] 264 -                 Opt(ref t) => self.pp_opt(t, is_ref),
[INFO] [stdout] 264 +                 Opt(t) => self.pp_opt(t, is_ref),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]                        `Token: Logos<'_>`
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]    --> src/bindings/rust.rs:266:21
[INFO] [stdout]     |
[INFO] [stdout] 266 |                 Vec(ref t) if matches!(t.as_ref(), Nat8) => str("serde_bytes::ByteBuf"),
[INFO] [stdout]     |                     ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]    --> src/bindings/rust.rs:266:17
[INFO] [stdout]     |
[INFO] [stdout] 266 |                 Vec(ref t) if matches!(t.as_ref(), Nat8) => str("serde_bytes::ByteBuf"),
[INFO] [stdout]     |                 ^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]     |
[INFO] [stdout] 266 -                 Vec(ref t) if matches!(t.as_ref(), Nat8) => str("serde_bytes::ByteBuf"),
[INFO] [stdout] 266 +                 Vec(t) if matches!(t.as_ref(), Nat8) => str("serde_bytes::ByteBuf"),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]            note: the trait `Logos` must be implemented
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]    --> src/bindings/rust.rs:267:21
[INFO] [stdout]     |
[INFO] [stdout] 267 |                 Vec(ref t) => self.pp_vec(t, is_ref),
[INFO] [stdout]     |                     ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]    --> src/bindings/rust.rs:267:17
[INFO] [stdout]     |
[INFO] [stdout] 267 |                 Vec(ref t) => self.pp_vec(t, is_ref),
[INFO] [stdout]     |                 ^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]     |
[INFO] [stdout] 267 -                 Vec(ref t) => self.pp_vec(t, is_ref),
[INFO] [stdout] 267 +                 Vec(t) => self.pp_vec(t, is_ref),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]               --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/logos-0.14.0/src/lib.rs:44:1
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]    --> src/bindings/rust.rs:269:24
[INFO] [stdout]     |
[INFO] [stdout] 269 |                 Record(ref fs) => self.pp_record_fields(fs, None, false, is_ref),
[INFO] [stdout]     |                        ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]    --> src/bindings/rust.rs:269:17
[INFO] [stdout]     |
[INFO] [stdout] 269 |                 Record(ref fs) => self.pp_record_fields(fs, None, false, is_ref),
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]     |
[INFO] [stdout] 269 -                 Record(ref fs) => self.pp_record_fields(fs, None, false, is_ref),
[INFO] [stdout] 269 +                 Record(fs) => self.pp_record_fields(fs, None, false, is_ref),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]                |
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]    --> src/bindings/rust.rs:270:25
[INFO] [stdout]     |
[INFO] [stdout] 270 |                 Variant(ref fs) => self.pp_variant(fs, is_ref),
[INFO] [stdout]     |                         ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]    --> src/bindings/rust.rs:270:17
[INFO] [stdout]     |
[INFO] [stdout] 270 |                 Variant(ref fs) => self.pp_variant(fs, is_ref),
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]     |
[INFO] [stdout] 270 -                 Variant(ref fs) => self.pp_variant(fs, is_ref),
[INFO] [stdout] 270 +                 Variant(fs) => self.pp_variant(fs, is_ref),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]             44 | pub trait Logos<'source>: Sized {
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]    --> src/bindings/rust.rs:605:33
[INFO] [stdout]     |
[INFO] [stdout] 605 |                 TypeInner::Func(ref f) => enclose("candid::func!(", self.pp_ty_func(f), ")"),
[INFO] [stdout]     |                                 ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]    --> src/bindings/rust.rs:605:17
[INFO] [stdout]     |
[INFO] [stdout] 605 |                 TypeInner::Func(ref f) => enclose("candid::func!(", self.pp_ty_func(f), ")"),
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]     |
[INFO] [stdout] 605 -                 TypeInner::Func(ref f) => enclose("candid::func!(", self.pp_ty_func(f), ")"),
[INFO] [stdout] 605 +                 TypeInner::Func(f) => enclose("candid::func!(", self.pp_ty_func(f), ")"),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]                | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]   --> src/bindings/typescript.rs:33:28
[INFO] [stdout]    |
[INFO] [stdout] 33 |         (TypeInner::Record(ref fields), Some(IDLType::RecordT(syntax_fields))) => {
[INFO] [stdout]    |                            ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]    |
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]   --> src/bindings/typescript.rs:33:10
[INFO] [stdout]    |
[INFO] [stdout] 33 |         (TypeInner::Record(ref fields), Some(IDLType::RecordT(syntax_fields))) => {
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout]    = warning: this changes meaning in Rust 2024
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]    |
[INFO] [stdout] 33 -         (TypeInner::Record(ref fields), Some(IDLType::RecordT(syntax_fields))) => {
[INFO] [stdout] 33 +         (TypeInner::Record(fields), Some(IDLType::RecordT(syntax_fields))) => {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]            
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]   --> src/bindings/typescript.rs:36:29
[INFO] [stdout]    |
[INFO] [stdout] 36 |         (TypeInner::Variant(ref fields), Some(IDLType::VariantT(syntax_fields))) => {
[INFO] [stdout]    |                             ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]    |
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]   --> src/bindings/typescript.rs:36:10
[INFO] [stdout]    |
[INFO] [stdout] 36 |         (TypeInner::Variant(ref fields), Some(IDLType::VariantT(syntax_fields))) => {
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout]    = warning: this changes meaning in Rust 2024
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]    |
[INFO] [stdout] 36 -         (TypeInner::Variant(ref fields), Some(IDLType::VariantT(syntax_fields))) => {
[INFO] [stdout] 36 +         (TypeInner::Variant(fields), Some(IDLType::VariantT(syntax_fields))) => {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]            
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]   --> src/bindings/typescript.rs:39:29
[INFO] [stdout]    |
[INFO] [stdout] 39 |         (TypeInner::Service(ref serv), Some(IDLType::ServT(syntax_serv))) => {
[INFO] [stdout]    |                             ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]    |
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]   --> src/bindings/typescript.rs:39:10
[INFO] [stdout]    |
[INFO] [stdout] 39 |         (TypeInner::Service(ref serv), Some(IDLType::ServT(syntax_serv))) => {
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout]    = warning: this changes meaning in Rust 2024
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]    |
[INFO] [stdout] 39 -         (TypeInner::Service(ref serv), Some(IDLType::ServT(syntax_serv))) => {
[INFO] [stdout] 39 +         (TypeInner::Service(serv), Some(IDLType::ServT(syntax_serv))) => {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]            error[E0599]: the method `next` exists for struct `logos::Lexer<'_, Token>`, but its trait bounds were not satisfied
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]   --> src/bindings/typescript.rs:42:25
[INFO] [stdout]    |
[INFO] [stdout] 42 |         (TypeInner::Opt(ref t), Some(IDLType::OptT(syntax_inner))) => {
[INFO] [stdout]    |                         ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]    |
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]   --> src/bindings/typescript.rs:42:10
[INFO] [stdout]    |
[INFO] [stdout] 42 |         (TypeInner::Opt(ref t), Some(IDLType::OptT(syntax_inner))) => {
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout]    = warning: this changes meaning in Rust 2024
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]    |
[INFO] [stdout] 42 -         (TypeInner::Opt(ref t), Some(IDLType::OptT(syntax_inner))) => {
[INFO] [stdout] 42 +         (TypeInner::Opt(t), Some(IDLType::OptT(syntax_inner))) => {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]               --> src/token.rs:241:30
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]   --> src/bindings/typescript.rs:45:25
[INFO] [stdout]    |
[INFO] [stdout] 45 |         (TypeInner::Vec(ref t), Some(IDLType::VecT(syntax_inner))) => {
[INFO] [stdout]    |                         ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]    |
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]   --> src/bindings/typescript.rs:45:10
[INFO] [stdout]    |
[INFO] [stdout] 45 |         (TypeInner::Vec(ref t), Some(IDLType::VecT(syntax_inner))) => {
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout]    = warning: this changes meaning in Rust 2024
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]    |
[INFO] [stdout] 45 -         (TypeInner::Vec(ref t), Some(IDLType::VecT(syntax_inner))) => {
[INFO] [stdout] 45 +         (TypeInner::Vec(t), Some(IDLType::VecT(syntax_inner))) => {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]                |
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]   --> src/bindings/typescript.rs:72:13
[INFO] [stdout]    |
[INFO] [stdout] 72 |         Var(ref id) => {
[INFO] [stdout]    |             ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]    |
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]   --> src/bindings/typescript.rs:72:9
[INFO] [stdout]    |
[INFO] [stdout] 72 |         Var(ref id) => {
[INFO] [stdout]    |         ^^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout]    = warning: this changes meaning in Rust 2024
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]    |
[INFO] [stdout] 72 -         Var(ref id) => {
[INFO] [stdout] 72 +         Var(id) => {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]             10 | pub enum Token {
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]   --> src/bindings/typescript.rs:83:13
[INFO] [stdout]    |
[INFO] [stdout] 83 |         Opt(ref t) => pp_opt(env, t, None, is_ref),
[INFO] [stdout]    |             ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]    |
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]   --> src/bindings/typescript.rs:83:9
[INFO] [stdout]    |
[INFO] [stdout] 83 |         Opt(ref t) => pp_opt(env, t, None, is_ref),
[INFO] [stdout]    |         ^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout]    = warning: this changes meaning in Rust 2024
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]    |
[INFO] [stdout] 83 -         Opt(ref t) => pp_opt(env, t, None, is_ref),
[INFO] [stdout] 83 +         Opt(t) => pp_opt(env, t, None, is_ref),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]                | -------------- doesn't satisfy `Token: Logos<'_>`
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]   --> src/bindings/typescript.rs:84:13
[INFO] [stdout]    |
[INFO] [stdout] 84 |         Vec(ref t) => pp_vec(env, t, None, is_ref),
[INFO] [stdout]    |             ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]    |
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]   --> src/bindings/typescript.rs:84:9
[INFO] [stdout]    |
[INFO] [stdout] 84 |         Vec(ref t) => pp_vec(env, t, None, is_ref),
[INFO] [stdout]    |         ^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout]    = warning: this changes meaning in Rust 2024
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]    |
[INFO] [stdout] 84 -         Vec(ref t) => pp_vec(env, t, None, is_ref),
[INFO] [stdout] 84 +         Vec(t) => pp_vec(env, t, None, is_ref),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]            ...
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]   --> src/bindings/typescript.rs:85:16
[INFO] [stdout]    |
[INFO] [stdout] 85 |         Record(ref fs) => pp_record(env, fs, None, is_ref),
[INFO] [stdout]    |                ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]    |
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]   --> src/bindings/typescript.rs:85:9
[INFO] [stdout]    |
[INFO] [stdout] 85 |         Record(ref fs) => pp_record(env, fs, None, is_ref),
[INFO] [stdout]    |         ^^^^^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout]    = warning: this changes meaning in Rust 2024
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]    |
[INFO] [stdout] 85 -         Record(ref fs) => pp_record(env, fs, None, is_ref),
[INFO] [stdout] 85 +         Record(fs) => pp_record(env, fs, None, is_ref),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]            241 |         let token = self.lex.next()?;
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]   --> src/bindings/typescript.rs:86:17
[INFO] [stdout]    |
[INFO] [stdout] 86 |         Variant(ref fs) => pp_variant(env, fs, None, is_ref),
[INFO] [stdout]    |                 ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]    |
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]   --> src/bindings/typescript.rs:86:9
[INFO] [stdout]    |
[INFO] [stdout] 86 |         Variant(ref fs) => pp_variant(env, fs, None, is_ref),
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout]    = warning: this changes meaning in Rust 2024
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]    |
[INFO] [stdout] 86 -         Variant(ref fs) => pp_variant(env, fs, None, is_ref),
[INFO] [stdout] 86 +         Variant(fs) => pp_variant(env, fs, None, is_ref),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]                |                              ^^^^ method cannot be called on `logos::Lexer<'_, Token>` due to unsatisfied trait bounds
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]    --> src/bindings/typescript.rs:120:13
[INFO] [stdout]     |
[INFO] [stdout] 120 |         Var(ref id) => {
[INFO] [stdout]     |             ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]    --> src/bindings/typescript.rs:120:9
[INFO] [stdout]     |
[INFO] [stdout] 120 |         Var(ref id) => {
[INFO] [stdout]     |         ^^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]     |
[INFO] [stdout] 120 -         Var(ref id) => {
[INFO] [stdout] 120 +         Var(id) => {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]                |
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]    --> src/bindings/typescript.rs:240:29
[INFO] [stdout]     |
[INFO] [stdout] 240 |             TypeInner::Func(ref func) => pp_function(env, func),
[INFO] [stdout]     |                             ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]    --> src/bindings/typescript.rs:240:13
[INFO] [stdout]     |
[INFO] [stdout] 240 |             TypeInner::Func(ref func) => pp_function(env, func),
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]     |
[INFO] [stdout] 240 -             TypeInner::Func(ref func) => pp_function(env, func),
[INFO] [stdout] 240 +             TypeInner::Func(func) => pp_function(env, func),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]               ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/logos-0.14.0/src/lexer.rs:14:1
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]    --> src/bindings/typescript.rs:241:28
[INFO] [stdout]     |
[INFO] [stdout] 241 |             TypeInner::Var(ref id) => ident(id),
[INFO] [stdout]     |                            ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]    --> src/bindings/typescript.rs:241:13
[INFO] [stdout]     |
[INFO] [stdout] 241 |             TypeInner::Var(ref id) => ident(id),
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]     |
[INFO] [stdout] 241 -             TypeInner::Var(ref id) => ident(id),
[INFO] [stdout] 241 +             TypeInner::Var(id) => ident(id),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]                |
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]    --> src/bindings/typescript.rs:287:29
[INFO] [stdout]     |
[INFO] [stdout] 287 |             TypeInner::Func(ref func) => kwd("export type")
[INFO] [stdout]     |                             ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]    --> src/bindings/typescript.rs:287:13
[INFO] [stdout]     |
[INFO] [stdout] 287 |             TypeInner::Func(ref func) => kwd("export type")
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]     |
[INFO] [stdout] 287 -             TypeInner::Func(ref func) => kwd("export type")
[INFO] [stdout] 287 +             TypeInner::Func(func) => kwd("export type")
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]             14 | pub struct Lexer<'source, Token: Logos<'source>> {
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]    --> src/bindings/typescript.rs:292:28
[INFO] [stdout]     |
[INFO] [stdout] 292 |             TypeInner::Var(ref inner_id) => kwd("export type")
[INFO] [stdout]     |                            ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]    --> src/bindings/typescript.rs:292:13
[INFO] [stdout]     |
[INFO] [stdout] 292 |             TypeInner::Var(ref inner_id) => kwd("export type")
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]     |
[INFO] [stdout] 292 -             TypeInner::Var(ref inner_id) => kwd("export type")
[INFO] [stdout] 292 +             TypeInner::Var(inner_id) => kwd("export type")
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]                | ------------------------------------------------ doesn't satisfy `logos::Lexer<'_, Token>: Iterator`
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]   --> src/syntax/pretty.rs:31:14
[INFO] [stdout]    |
[INFO] [stdout] 31 |         VarT(ref s) => str(s),
[INFO] [stdout]    |              ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]    |
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]   --> src/syntax/pretty.rs:31:9
[INFO] [stdout]    |
[INFO] [stdout] 31 |         VarT(ref s) => str(s),
[INFO] [stdout]    |         ^^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout]    = warning: this changes meaning in Rust 2024
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]    |
[INFO] [stdout] 31 -         VarT(ref s) => str(s),
[INFO] [stdout] 31 +         VarT(s) => str(s),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]                |
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]   --> src/syntax/pretty.rs:33:14
[INFO] [stdout]    |
[INFO] [stdout] 33 |         OptT(ref t) => pp_opt(t),
[INFO] [stdout]    |              ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]    |
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]   --> src/syntax/pretty.rs:33:9
[INFO] [stdout]    |
[INFO] [stdout] 33 |         OptT(ref t) => pp_opt(t),
[INFO] [stdout]    |         ^^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout]    = warning: this changes meaning in Rust 2024
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]    |
[INFO] [stdout] 33 -         OptT(ref t) => pp_opt(t),
[INFO] [stdout] 33 +         OptT(t) => pp_opt(t),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]                = note: the following trait bounds were not satisfied:
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]   --> src/syntax/pretty.rs:34:14
[INFO] [stdout]    |
[INFO] [stdout] 34 |         VecT(ref t) => pp_vec(t),
[INFO] [stdout]    |              ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]    |
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]   --> src/syntax/pretty.rs:34:9
[INFO] [stdout]    |
[INFO] [stdout] 34 |         VecT(ref t) => pp_vec(t),
[INFO] [stdout]    |         ^^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout]    = warning: this changes meaning in Rust 2024
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]    |
[INFO] [stdout] 34 -         VecT(ref t) => pp_vec(t),
[INFO] [stdout] 34 +         VecT(t) => pp_vec(t),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]                        `Token: Logos<'_>`
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]   --> src/syntax/pretty.rs:35:17
[INFO] [stdout]    |
[INFO] [stdout] 35 |         RecordT(ref fs) => pp_record(fs, ty.is_tuple()),
[INFO] [stdout]    |                 ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]    |
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]   --> src/syntax/pretty.rs:35:9
[INFO] [stdout]    |
[INFO] [stdout] 35 |         RecordT(ref fs) => pp_record(fs, ty.is_tuple()),
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout]    = warning: this changes meaning in Rust 2024
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]    |
[INFO] [stdout] 35 -         RecordT(ref fs) => pp_record(fs, ty.is_tuple()),
[INFO] [stdout] 35 +         RecordT(fs) => pp_record(fs, ty.is_tuple()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]                        which is required by `logos::Lexer<'_, Token>: Iterator`
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]   --> src/syntax/pretty.rs:36:18
[INFO] [stdout]    |
[INFO] [stdout] 36 |         VariantT(ref fs) => pp_variant(fs),
[INFO] [stdout]    |                  ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]    |
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]   --> src/syntax/pretty.rs:36:9
[INFO] [stdout]    |
[INFO] [stdout] 36 |         VariantT(ref fs) => pp_variant(fs),
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout]    = warning: this changes meaning in Rust 2024
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]    |
[INFO] [stdout] 36 -         VariantT(ref fs) => pp_variant(fs),
[INFO] [stdout] 36 +         VariantT(fs) => pp_variant(fs),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]            note: the trait `Logos` must be implemented
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]   --> src/syntax/pretty.rs:37:15
[INFO] [stdout]    |
[INFO] [stdout] 37 |         FuncT(ref func) => pp_function(func),
[INFO] [stdout]    |               ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]    |
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]   --> src/syntax/pretty.rs:37:9
[INFO] [stdout]    |
[INFO] [stdout] 37 |         FuncT(ref func) => pp_function(func),
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout]    = warning: this changes meaning in Rust 2024
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]    |
[INFO] [stdout] 37 -         FuncT(ref func) => pp_function(func),
[INFO] [stdout] 37 +         FuncT(func) => pp_function(func),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]               --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/logos-0.14.0/src/lib.rs:44:1
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]   --> src/syntax/pretty.rs:38:15
[INFO] [stdout]    |
[INFO] [stdout] 38 |         ServT(ref serv) => pp_service(serv),
[INFO] [stdout]    |               ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]    |
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]   --> src/syntax/pretty.rs:38:9
[INFO] [stdout]    |
[INFO] [stdout] 38 |         ServT(ref serv) => pp_service(serv),
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout]    = warning: this changes meaning in Rust 2024
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]    |
[INFO] [stdout] 38 -         ServT(ref serv) => pp_service(serv),
[INFO] [stdout] 38 +         ServT(serv) => pp_service(serv),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]                |
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]   --> src/syntax/pretty.rs:39:16
[INFO] [stdout]    |
[INFO] [stdout] 39 |         ClassT(ref args, ref t) => pp_class(args, t),
[INFO] [stdout]    |                ^^^       ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]    |                |
[INFO] [stdout]    |                explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]    |
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]   --> src/syntax/pretty.rs:39:9
[INFO] [stdout]    |
[INFO] [stdout] 39 |         ClassT(ref args, ref t) => pp_class(args, t),
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout]    = warning: this changes meaning in Rust 2024
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout] help: remove the unnecessary binding modifiers
[INFO] [stdout]    |
[INFO] [stdout] 39 -         ClassT(ref args, ref t) => pp_class(args, t),
[INFO] [stdout] 39 +         ClassT(args, t) => pp_class(args, t),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]             44 | pub trait Logos<'source>: Sized {
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]    --> src/syntax/pretty.rs:129:24
[INFO] [stdout]     |
[INFO] [stdout] 129 |         IDLType::ServT(ref serv) => doc.append(pp_service_methods(serv)),
[INFO] [stdout]     |                        ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]    --> src/syntax/pretty.rs:129:9
[INFO] [stdout]     |
[INFO] [stdout] 129 |         IDLType::ServT(ref serv) => doc.append(pp_service_methods(serv)),
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]     |
[INFO] [stdout] 129 -         IDLType::ServT(ref serv) => doc.append(pp_service_methods(serv)),
[INFO] [stdout] 129 +         IDLType::ServT(serv) => doc.append(pp_service_methods(serv)),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]                | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]    --> src/syntax/pretty.rs:130:23
[INFO] [stdout]     |
[INFO] [stdout] 130 |         IDLType::VarT(ref s) => doc.append(s),
[INFO] [stdout]     |                       ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]    --> src/syntax/pretty.rs:130:9
[INFO] [stdout]     |
[INFO] [stdout] 130 |         IDLType::VarT(ref s) => doc.append(s),
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]     |
[INFO] [stdout] 130 -         IDLType::VarT(ref s) => doc.append(s),
[INFO] [stdout] 130 +         IDLType::VarT(s) => doc.append(s),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]            
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]   --> src/syntax/mod.rs:30:30
[INFO] [stdout]    |
[INFO] [stdout] 30 |             IDLType::RecordT(ref fs) => {
[INFO] [stdout]    |                              ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]    |
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]   --> src/syntax/mod.rs:30:13
[INFO] [stdout]    |
[INFO] [stdout] 30 |             IDLType::RecordT(ref fs) => {
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout]    = warning: this changes meaning in Rust 2024
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]    |
[INFO] [stdout] 30 -             IDLType::RecordT(ref fs) => {
[INFO] [stdout] 30 +             IDLType::RecordT(fs) => {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]            
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]   --> src/test.rs:56:25
[INFO] [stdout]    |
[INFO] [stdout] 56 |             Input::Text(ref s) => Ok(super::parse_idl_args(s)?.annotate_types(true, env, types)?),
[INFO] [stdout]    |                         ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]    |
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]   --> src/test.rs:56:13
[INFO] [stdout]    |
[INFO] [stdout] 56 |             Input::Text(ref s) => Ok(super::parse_idl_args(s)?.annotate_types(true, env, types)?),
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout]    = warning: this changes meaning in Rust 2024
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]    |
[INFO] [stdout] 56 -             Input::Text(ref s) => Ok(super::parse_idl_args(s)?.annotate_types(true, env, types)?),
[INFO] [stdout] 56 +             Input::Text(s) => Ok(super::parse_idl_args(s)?.annotate_types(true, env, types)?),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]            error[E0599]: the method `span` exists for struct `logos::Lexer<'_, Token>`, but its trait bounds were not satisfied
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]   --> src/test.rs:57:25
[INFO] [stdout]    |
[INFO] [stdout] 57 |             Input::Blob(ref bytes) => {
[INFO] [stdout]    |                         ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]    |
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]   --> src/test.rs:57:13
[INFO] [stdout]    |
[INFO] [stdout] 57 |             Input::Blob(ref bytes) => {
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout]    = warning: this changes meaning in Rust 2024
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]    |
[INFO] [stdout] 57 -             Input::Blob(ref bytes) => {
[INFO] [stdout] 57 +             Input::Blob(bytes) => {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]               --> src/token.rs:242:29
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]   --> src/test.rs:68:25
[INFO] [stdout]    |
[INFO] [stdout] 68 |             Input::Blob(ref blob) => {
[INFO] [stdout]    |                         ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]    |
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]   --> src/test.rs:68:13
[INFO] [stdout]    |
[INFO] [stdout] 68 |             Input::Blob(ref blob) => {
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout]    = warning: this changes meaning in Rust 2024
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]    |
[INFO] [stdout] 68 -             Input::Blob(ref blob) => {
[INFO] [stdout] 68 +             Input::Blob(blob) => {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]                |
[INFO] [stdout] warning: `impl logos::internal::CallbackResult<'s, std::string::String, Token>` will capture more lifetimes than possibly intended in edition 2024
[INFO] [stdout]  --> src/token.rs:8:10
[INFO] [stdout]   |
[INFO] [stdout] 8 | #[derive(Logos, Debug, Clone, PartialEq, Eq, Ord, PartialOrd)]
[INFO] [stdout]   |          ^^^^^
[INFO] [stdout]   |
[INFO] [stdout] note: specifically, this lifetime is in scope but not mentioned in the type's bounds
[INFO] [stdout]  --> src/token.rs:8:10
[INFO] [stdout]   |
[INFO] [stdout] 8 | #[derive(Logos, Debug, Clone, PartialEq, Eq, Ord, PartialOrd)]
[INFO] [stdout]   |          ^
[INFO] [stdout]   = note: all lifetimes in scope will be captured by `impl Trait`s in edition 2024
[INFO] [stdout]   = warning: this changes meaning in Rust 2024
[INFO] [stdout]   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/rpit-lifetime-capture.html>
[INFO] [stdout]   = note: `--force-warn impl-trait-overcaptures` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout]   = note: this warning originates in the derive macro `Logos` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use the precise capturing `use<...>` syntax to make the captures explicit
[INFO] [stdout]   |
[INFO] [stdout] 8 | #[derive(Logos + use<'s>, Debug, Clone, PartialEq, Eq, Ord, PartialOrd)]
[INFO] [stdout]   |                +++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]             10 | pub enum Token {
[INFO] [stdout] warning: `impl logos::internal::CallbackResult<'s, bool, Token>` will capture more lifetimes than possibly intended in edition 2024
[INFO] [stdout]  --> src/token.rs:8:10
[INFO] [stdout]   |
[INFO] [stdout] 8 | #[derive(Logos, Debug, Clone, PartialEq, Eq, Ord, PartialOrd)]
[INFO] [stdout]   |          ^^^^^
[INFO] [stdout]   |
[INFO] [stdout] note: specifically, this lifetime is in scope but not mentioned in the type's bounds
[INFO] [stdout]  --> src/token.rs:8:10
[INFO] [stdout]   |
[INFO] [stdout] 8 | #[derive(Logos, Debug, Clone, PartialEq, Eq, Ord, PartialOrd)]
[INFO] [stdout]   |          ^
[INFO] [stdout]   = note: all lifetimes in scope will be captured by `impl Trait`s in edition 2024
[INFO] [stdout]   = warning: this changes meaning in Rust 2024
[INFO] [stdout]   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/rpit-lifetime-capture.html>
[INFO] [stdout]   = note: this warning originates in the derive macro `Logos` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use the precise capturing `use<...>` syntax to make the captures explicit
[INFO] [stdout]   |
[INFO] [stdout] 8 | #[derive(Logos + use<'s>, Debug, Clone, PartialEq, Eq, Ord, PartialOrd)]
[INFO] [stdout]   |                +++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]                | -------------- doesn't satisfy `Token: Logos<'_>`
[INFO] [stdout] warning: `impl logos::internal::CallbackResult<'s, char, Token>` will capture more lifetimes than possibly intended in edition 2024
[INFO] [stdout]  --> src/token.rs:8:10
[INFO] [stdout]   |
[INFO] [stdout] 8 | #[derive(Logos, Debug, Clone, PartialEq, Eq, Ord, PartialOrd)]
[INFO] [stdout]   |          ^^^^^
[INFO] [stdout]   |
[INFO] [stdout] note: specifically, this lifetime is in scope but not mentioned in the type's bounds
[INFO] [stdout]  --> src/token.rs:8:10
[INFO] [stdout]   |
[INFO] [stdout] 8 | #[derive(Logos, Debug, Clone, PartialEq, Eq, Ord, PartialOrd)]
[INFO] [stdout]   |          ^
[INFO] [stdout]   = note: all lifetimes in scope will be captured by `impl Trait`s in edition 2024
[INFO] [stdout]   = warning: this changes meaning in Rust 2024
[INFO] [stdout]   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/rpit-lifetime-capture.html>
[INFO] [stdout]   = note: this warning originates in the derive macro `Logos` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use the precise capturing `use<...>` syntax to make the captures explicit
[INFO] [stdout]   |
[INFO] [stdout] 8 | #[derive(Logos + use<'s>, Debug, Clone, PartialEq, Eq, Ord, PartialOrd)]
[INFO] [stdout]   |                +++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]            ...
[INFO] [stdout] warning: `impl logos::internal::CallbackResult<'s, char, Token>` will capture more lifetimes than possibly intended in edition 2024
[INFO] [stdout]  --> src/token.rs:8:10
[INFO] [stdout]   |
[INFO] [stdout] 8 | #[derive(Logos, Debug, Clone, PartialEq, Eq, Ord, PartialOrd)]
[INFO] [stdout]   |          ^^^^^
[INFO] [stdout]   |
[INFO] [stdout] note: specifically, this lifetime is in scope but not mentioned in the type's bounds
[INFO] [stdout]  --> src/token.rs:8:10
[INFO] [stdout]   |
[INFO] [stdout] 8 | #[derive(Logos, Debug, Clone, PartialEq, Eq, Ord, PartialOrd)]
[INFO] [stdout]   |          ^
[INFO] [stdout]   = note: all lifetimes in scope will be captured by `impl Trait`s in edition 2024
[INFO] [stdout]   = warning: this changes meaning in Rust 2024
[INFO] [stdout]   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/rpit-lifetime-capture.html>
[INFO] [stdout]   = note: this warning originates in the derive macro `Logos` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use the precise capturing `use<...>` syntax to make the captures explicit
[INFO] [stdout]   |
[INFO] [stdout] 8 | #[derive(Logos + use<'s>, Debug, Clone, PartialEq, Eq, Ord, PartialOrd)]
[INFO] [stdout]   |                +++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]            242 |         let span = self.lex.span();
[INFO] [stderr]                |                             ^^^^ method cannot be called on `logos::Lexer<'_, Token>` due to unsatisfied trait bounds
[INFO] [stderr]                |
[INFO] [stderr]                = note: the following trait bounds were not satisfied:
[INFO] [stderr]                        `Token: Logos<'_>`
[INFO] [stderr]            note: the trait `Logos` must be implemented
[INFO] [stderr]               --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/logos-0.14.0/src/lib.rs:44:1
[INFO] [stderr]                |
[INFO] [stderr]             44 | pub trait Logos<'source>: Sized {
[INFO] [stderr]                | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0599]: the method `slice` exists for struct `logos::Lexer<'_, Token>`, but its trait bounds were not satisfied
[INFO] [stderr]               --> src/token.rs:245:64
[INFO] [stderr]                |
[INFO] [stderr]             10 | pub enum Token {
[INFO] [stderr]                | -------------- doesn't satisfy `Token: Logos<'_>`
[INFO] [stderr]            ...
[INFO] [stderr]            245 |                 let err = format!("Unknown token {}", self.lex.slice());
[INFO] [stderr]                |                                                                ^^^^^ method cannot be called on `logos::Lexer<'_, Token>` due to unsatisfied trait bounds
[INFO] [stderr]                |
[INFO] [stderr]                = note: the following trait bounds were not satisfied:
[INFO] [stderr]                        `Token: Logos<'_>`
[INFO] [stderr]            note: the trait `Logos` must be implemented
[INFO] [stderr]               --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/logos-0.14.0/src/lib.rs:44:1
[INFO] [stderr]                |
[INFO] [stderr]             44 | pub trait Logos<'source>: Sized {
[INFO] [stderr]                | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `Token: Logos<'_>` is not satisfied
[INFO] [stderr]               --> src/token.rs:249:51
[INFO] [stderr]                |
[INFO] [stderr]            249 |                 if self.trivia.is_some() && !self.is_inline_comment(span.start) {
[INFO] [stderr]                |                                                   ^^^^^^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stderr]                |
[INFO] [stderr]            help: the trait `Logos<'_>` is not implemented for `Token`
[INFO] [stderr]               --> src/token.rs:10:1
[INFO] [stderr]                |
[INFO] [stderr]             10 | pub enum Token {
[INFO] [stderr]                | ^^^^^^^^^^^^^^
[INFO] [stderr]            help: the following other types implement trait `Logos<'source>`
[INFO] [stderr]               --> src/token.rs:88:10
[INFO] [stderr]                |
[INFO] [stderr]             88 | #[derive(Logos, Debug, Clone, PartialEq, Eq)]
[INFO] [stderr]                |          ^^^^^ `token::Comment`
[INFO] [stderr]            ...
[INFO] [stderr]             96 | #[derive(Logos, Debug, Clone, PartialEq, Eq)]
[INFO] [stderr]                |          ^^^^^ `token::Text`
[INFO] [stderr]                = note: this error originates in the derive macro `Logos` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `Token: Logos<'_>` is not satisfied
[INFO] [stderr]               --> src/token.rs:250:29
[INFO] [stderr]                |
[INFO] [stderr]            250 |                     if self.has_blank_line_before_token(span.start) {
[INFO] [stderr]                |                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stderr]                |
[INFO] [stderr]            help: the trait `Logos<'_>` is not implemented for `Token`
[INFO] [stderr]               --> src/token.rs:10:1
[INFO] [stderr]                |
[INFO] [stderr]             10 | pub enum Token {
[INFO] [stderr]                | ^^^^^^^^^^^^^^
[INFO] [stderr]            help: the following other types implement trait `Logos<'source>`
[INFO] [stderr]               --> src/token.rs:88:10
[INFO] [stderr]                |
[INFO] [stderr]             88 | #[derive(Logos, Debug, Clone, PartialEq, Eq)]
[INFO] [stderr]                |          ^^^^^ `token::Comment`
[INFO] [stderr]            ...
[INFO] [stderr]             96 | #[derive(Logos, Debug, Clone, PartialEq, Eq)]
[INFO] [stderr]                |          ^^^^^ `token::Text`
[INFO] [stderr]                = note: this error originates in the derive macro `Logos` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `Token: Logos<'_>` is not satisfied
[INFO] [stderr]               --> src/token.rs:253:64
[INFO] [stderr]                |
[INFO] [stderr]            253 |                     self.comment_buffer.push(parse_doc_comment(&self.lex));
[INFO] [stderr]                |                                                                ^^^^^^^^^ unsatisfied trait bound
[INFO] [stderr]                |
[INFO] [stderr]            help: the trait `Logos<'_>` is not implemented for `Token`
[INFO] [stderr]               --> src/token.rs:10:1
[INFO] [stderr]                |
[INFO] [stderr]             10 | pub enum Token {
[INFO] [stderr]                | ^^^^^^^^^^^^^^
[INFO] [stderr]            help: the following other types implement trait `Logos<'source>`
[INFO] [stderr]               --> src/token.rs:88:10
[INFO] [stderr]                |
[INFO] [stderr]             88 | #[derive(Logos, Debug, Clone, PartialEq, Eq)]
[INFO] [stderr]                |          ^^^^^ `token::Comment`
[INFO] [stderr]            ...
[INFO] [stderr]             96 | #[derive(Logos, Debug, Clone, PartialEq, Eq)]
[INFO] [stderr]                |          ^^^^^ `token::Text`
[INFO] [stderr]            note: required by a bound in `logos::Lexer`
[INFO] [stderr]               --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/logos-0.14.0/src/lexer.rs:14:34
[INFO] [stderr]                |
[INFO] [stderr]             14 | pub struct Lexer<'source, Token: Logos<'source>> {
[INFO] [stderr]                |                                  ^^^^^^^^^^^^^^ required by this bound in `Lexer`
[INFO] [stderr]                = note: this error originates in the derive macro `Logos` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `Token: Logos<'_>` is not satisfied
[INFO] [stderr]               --> src/token.rs:256:17
[INFO] [stderr]                |
[INFO] [stderr]            256 |                 self.next()
[INFO] [stderr]                |                 ^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stderr]                |
[INFO] [stderr]            help: the trait `Logos<'_>` is not implemented for `Token`
[INFO] [stderr]               --> src/token.rs:10:1
[INFO] [stderr]                |
[INFO] [stderr]             10 | pub enum Token {
[INFO] [stderr]                | ^^^^^^^^^^^^^^
[INFO] [stderr]            help: the following other types implement trait `Logos<'source>`
[INFO] [stderr]               --> src/token.rs:88:10
[INFO] [stderr]                |
[INFO] [stderr]             88 | #[derive(Logos, Debug, Clone, PartialEq, Eq)]
[INFO] [stderr]                |          ^^^^^ `token::Comment`
[INFO] [stderr]            ...
[INFO] [stderr]             96 | #[derive(Logos, Debug, Clone, PartialEq, Eq)]
[INFO] [stderr]                |          ^^^^^ `token::Text`
[INFO] [stderr]                = note: this error originates in the derive macro `Logos` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0599]: the method `to_owned` exists for struct `logos::Lexer<'_, Token>`, but its trait bounds were not satisfied
[INFO] [stderr]               --> src/token.rs:259:40
[INFO] [stderr]                |
[INFO] [stderr]            259 |                 let mut lex = self.lex.to_owned().morph::<Comment>();
[INFO] [stderr]                |                                        ^^^^^^^^ method cannot be called on `logos::Lexer<'_, Token>` due to unsatisfied trait bounds
[INFO] [stderr]                |
[INFO] [stderr]               ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/logos-0.14.0/src/lexer.rs:14:1
[INFO] [stderr]                |
[INFO] [stderr]             14 | pub struct Lexer<'source, Token: Logos<'source>> {
[INFO] [stderr]                | ------------------------------------------------ doesn't satisfy `logos::Lexer<'_, Token>: Clone`, `logos::Lexer<'_, Token>: Sized` or `logos::Lexer<'_, Token>: ToOwned`
[INFO] [stderr]                |
[INFO] [stderr]                = note: the following trait bounds were not satisfied:
[INFO] [stderr]                        `logos::Lexer<'_, Token>: Sized`
[INFO] [stderr]                        which is required by `logos::Lexer<'_, Token>: ToOwned`
[INFO] [stderr]                        `logos::Lexer<'_, Token>: Clone`
[INFO] [stderr]                        which is required by `logos::Lexer<'_, Token>: ToOwned`
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `Token: Logos<'_>` is not satisfied in `logos::Lexer<'_, Token>`
[INFO] [stderr]               --> src/token.rs:279:17
[INFO] [stderr]                |
[INFO] [stderr]            279 |                 self.lex = lex.morph::<Token>();
[INFO] [stderr]                |                 ^^^^^^^^ unsatisfied trait bound
[INFO] [stderr]                |
[INFO] [stderr]            help: within `logos::Lexer<'_, Token>`, the trait `Logos<'_>` is not implemented for `Token`
[INFO] [stderr]               --> src/token.rs:10:1
[INFO] [stderr]                |
[INFO] [stderr]             10 | pub enum Token {
[INFO] [stderr]                | ^^^^^^^^^^^^^^
[INFO] [stderr]            help: the following other types implement trait `Logos<'source>`
[INFO] [stderr]               --> src/token.rs:88:10
[INFO] [stderr]                |
[INFO] [stderr]             88 | #[derive(Logos, Debug, Clone, PartialEq, Eq)]
[INFO] [stderr]                |          ^^^^^ `token::Comment`
[INFO] [stderr]            ...
[INFO] [stderr]             96 | #[derive(Logos, Debug, Clone, PartialEq, Eq)]
[INFO] [stderr]                |          ^^^^^ `token::Text`
[INFO] [stderr]            note: required because it appears within the type `logos::Lexer<'_, Token>`
[INFO] [stderr]               --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/logos-0.14.0/src/lexer.rs:14:12
[INFO] [stderr]                |
[INFO] [stderr]             14 | pub struct Lexer<'source, Token: Logos<'source>> {
[INFO] [stderr]                |            ^^^^^
[INFO] [stderr]                = note: the left-hand-side of an assignment must have a statically known size
[INFO] [stderr]                = note: this error originates in the derive macro `Logos` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0599]: the method `span` exists for struct `logos::Lexer<'_, Token>`, but its trait bounds were not satisfied
[INFO] [stderr]               --> src/token.rs:283:59
[INFO] [stderr]                |
[INFO] [stderr]             10 | pub enum Token {
[INFO] [stderr]                | -------------- doesn't satisfy `Token: Logos<'_>`
[INFO] [stderr]            ...
[INFO] [stderr]            283 |                     self.last_comment_end = Some(self.lex.span().start);
[INFO] [stderr]                |                                                           ^^^^ method cannot be called on `logos::Lexer<'_, Token>` due to unsatisfied trait bounds
[INFO] [stderr]                |
[INFO] [stderr]                = note: the following trait bounds were not satisfied:
[INFO] [stderr]                        `Token: Logos<'_>`
[INFO] [stderr]            note: the trait `Logos` must be implemented
[INFO] [stderr]               --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/logos-0.14.0/src/lib.rs:44:1
[INFO] [stderr]                |
[INFO] [stderr]             44 | pub trait Logos<'source>: Sized {
[INFO] [stderr]                | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `Token: Logos<'_>` is not satisfied
[INFO] [stderr]               --> src/token.rs:285:17
[INFO] [stderr]                |
[INFO] [stderr]            285 |                 self.next()
[INFO] [stderr]                |                 ^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stderr]                |
[INFO] [stderr]            help: the trait `Logos<'_>` is not implemented for `Token`
[INFO] [stderr]               --> src/token.rs:10:1
[INFO] [stderr]                |
[INFO] [stderr]             10 | pub enum Token {
[INFO] [stderr]                | ^^^^^^^^^^^^^^
[INFO] [stderr]            help: the following other types implement trait `Logos<'source>`
[INFO] [stderr]               --> src/token.rs:88:10
[INFO] [stderr]                |
[INFO] [stderr]             88 | #[derive(Logos, Debug, Clone, PartialEq, Eq)]
[INFO] [stderr]                |          ^^^^^ `token::Comment`
[INFO] [stderr]            ...
[INFO] [stderr]             96 | #[derive(Logos, Debug, Clone, PartialEq, Eq)]
[INFO] [stderr]                |          ^^^^^ `token::Text`
[INFO] [stderr]                = note: this error originates in the derive macro `Logos` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0599]: the method `to_owned` exists for struct `logos::Lexer<'_, Token>`, but its trait bounds were not satisfied
[INFO] [stderr]               --> src/token.rs:289:40
[INFO] [stderr]                |
[INFO] [stderr]            289 |                 let mut lex = self.lex.to_owned().morph::<Text>();
[INFO] [stderr]                |                                        ^^^^^^^^ method cannot be called on `logos::Lexer<'_, Token>` due to unsatisfied trait bounds
[INFO] [stderr]                |
[INFO] [stderr]               ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/logos-0.14.0/src/lexer.rs:14:1
[INFO] [stderr]                |
[INFO] [stderr]             14 | pub struct Lexer<'source, Token: Logos<'source>> {
[INFO] [stderr]                | ------------------------------------------------ doesn't satisfy `logos::Lexer<'_, Token>: Clone`, `logos::Lexer<'_, Token>: Sized` or `logos::Lexer<'_, Token>: ToOwned`
[INFO] [stderr]                |
[INFO] [stderr]                = note: the following trait bounds were not satisfied:
[INFO] [stderr]                        `logos::Lexer<'_, Token>: Sized`
[INFO] [stderr]                        which is required by `logos::Lexer<'_, Token>: ToOwned`
[INFO] [stderr]                        `logos::Lexer<'_, Token>: Clone`
[INFO] [stderr]                        which is required by `logos::Lexer<'_, Token>: ToOwned`
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `Token: Logos<'_>` is not satisfied in `logos::Lexer<'_, Token>`
[INFO] [stderr]               --> src/token.rs:359:17
[INFO] [stderr]                |
[INFO] [stderr]            359 |                 self.lex = lex.morph::<Token>();
[INFO] [stderr]                |                 ^^^^^^^^ unsatisfied trait bound
[INFO] [stderr]                |
[INFO] [stderr]            help: within `logos::Lexer<'_, Token>`, the trait `Logos<'_>` is not implemented for `Token`
[INFO] [stderr]               --> src/token.rs:10:1
[INFO] [stderr]                |
[INFO] [stderr]             10 | pub enum Token {
[INFO] [stderr]                | ^^^^^^^^^^^^^^
[INFO] [stderr]            help: the following other types implement trait `Logos<'source>`
[INFO] [stderr]               --> src/token.rs:88:10
[INFO] [stderr]                |
[INFO] [stderr]             88 | #[derive(Logos, Debug, Clone, PartialEq, Eq)]
[INFO] [stderr]                |          ^^^^^ `token::Comment`
[INFO] [stderr]            ...
[INFO] [stderr]             96 | #[derive(Logos, Debug, Clone, PartialEq, Eq)]
[INFO] [stderr]                |          ^^^^^ `token::Text`
[INFO] [stderr]            note: required because it appears within the type `logos::Lexer<'_, Token>`
[INFO] [stderr]               --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/logos-0.14.0/src/lexer.rs:14:12
[INFO] [stderr]                |
[INFO] [stderr]             14 | pub struct Lexer<'source, Token: Logos<'source>> {
[INFO] [stderr]                |            ^^^^^
[INFO] [stderr]                = note: the left-hand-side of an assignment must have a statically known size
[INFO] [stderr]                = note: this error originates in the derive macro `Logos` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0599]: the method `span` exists for struct `logos::Lexer<'_, Token>`, but its trait bounds were not satisfied
[INFO] [stderr]               --> src/token.rs:360:68
[INFO] [stderr]                |
[INFO] [stderr]             10 | pub enum Token {
[INFO] [stderr]                | -------------- doesn't satisfy `Token: Logos<'_>`
[INFO] [stderr]            ...
[INFO] [stderr]            360 |                 Some(Ok((span.start, Token::Text(result), self.lex.span().end)))
[INFO] [stderr]                |                                                                    ^^^^ method cannot be called on `logos::Lexer<'_, Token>` due to unsatisfied trait bounds
[INFO] [stderr]                |
[INFO] [stderr]                = note: the following trait bounds were not satisfied:
[INFO] [stderr]                        `Token: Logos<'_>`
[INFO] [stderr]            note: the trait `Logos` must be implemented
[INFO] [stderr]               --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/logos-0.14.0/src/lib.rs:44:1
[INFO] [stderr]                |
[INFO] [stderr]             44 | pub trait Logos<'source>: Sized {
[INFO] [stderr]                | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `Token: Logos<'_>` is not satisfied
[INFO] [stderr]               --> src/token.rs:364:47
[INFO] [stderr]                |
[INFO] [stderr]            364 |                     let has_blank_line = self.has_blank_line_before_token(span.start);
[INFO] [stderr]                |                                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stderr]                |
[INFO] [stderr]            help: the trait `Logos<'_>` is not implemented for `Token`
[INFO] [stderr]               --> src/token.rs:10:1
[INFO] [stderr]                |
[INFO] [stderr]             10 | pub enum Token {
[INFO] [stderr]                | ^^^^^^^^^^^^^^
[INFO] [stderr]            help: the following other types implement trait `Logos<'source>`
[INFO] [stderr]               --> src/token.rs:88:10
[INFO] [stderr]                |
[INFO] [stderr]             88 | #[derive(Logos, Debug, Clone, PartialEq, Eq)]
[INFO] [stderr]                |          ^^^^^ `token::Comment`
[INFO] [stderr]            ...
[INFO] [stderr]             96 | #[derive(Logos, Debug, Clone, PartialEq, Eq)]
[INFO] [stderr]                |          ^^^^^ `token::Text`
[INFO] [stderr]                = note: this error originates in the derive macro `Logos` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `Token: Logos<'_>` is not satisfied
[INFO] [stderr]               --> src/token.rs:375:62
[INFO] [stderr]                |
[INFO] [stderr]            375 |                         self.last_token_line_end = Some(self.find_line_end(span.end));
[INFO] [stderr]                |                                                              ^^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stderr]                |
[INFO] [stderr]            help: the trait `Logos<'_>` is not implemented for `Token`
[INFO] [stderr]               --> src/token.rs:10:1
[INFO] [stderr]                |
[INFO] [stderr]             10 | pub enum Token {
[INFO] [stderr]                | ^^^^^^^^^^^^^^
[INFO] [stderr]            help: the following other types implement trait `Logos<'source>`
[INFO] [stderr]               --> src/token.rs:88:10
[INFO] [stderr]                |
[INFO] [stderr]             88 | #[derive(Logos, Debug, Clone, PartialEq, Eq)]
[INFO] [stderr]                |          ^^^^^ `token::Comment`
[INFO] [stderr]            ...
[INFO] [stderr]             96 | #[derive(Logos, Debug, Clone, PartialEq, Eq)]
[INFO] [stderr]                |          ^^^^^ `token::Text`
[INFO] [stderr]                = note: this error originates in the derive macro `Logos` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `Token: Logos<'_>` is not satisfied
[INFO] [stderr]              --> src/test.rs:80:21
[INFO] [stderr]               |
[INFO] [stderr]            80 |         let lexer = super::token::Tokenizer::new(str);
[INFO] [stderr]               |                     ^^^^^^^^^^^^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stderr]               |
[INFO] [stderr]            help: the trait `Logos<'_>` is not implemented for `Token`
[INFO] [stderr]              --> src/token.rs:10:1
[INFO] [stderr]               |
[INFO] [stderr]            10 | pub enum Token {
[INFO] [stderr]               | ^^^^^^^^^^^^^^
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `Token: Logos<'_>` is not satisfied
[INFO] [stderr]              --> src/test.rs:80:21
[INFO] [stderr]               |
[INFO] [stderr]            80 |         let lexer = super::token::Tokenizer::new(str);
[INFO] [stderr]               |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stderr]               |
[INFO] [stderr]            help: the trait `Logos<'_>` is not implemented for `Token`
[INFO] [stderr]              --> src/token.rs:10:1
[INFO] [stderr]               |
[INFO] [stderr]            10 | pub enum Token {
[INFO] [stderr]               | ^^^^^^^^^^^^^^
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `Token: Logos<'_>` is not satisfied
[INFO] [stderr]              --> src/test.rs:81:12
[INFO] [stderr]               |
[INFO] [stderr]            81 |         Ok(super::grammar::TestParser::new().parse(None, lexer)?)
[INFO] [stderr]               |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stderr]               |
[INFO] [stderr]            help: the trait `Logos<'_>` is not implemented for `Token`
[INFO] [stderr]              --> src/token.rs:10:1
[INFO] [stderr]               |
[INFO] [stderr]            10 | pub enum Token {
[INFO] [stderr]               | ^^^^^^^^^^^^^^
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `Token: Logos<'_>` is not satisfied
[INFO] [stderr]               --> src/lib.rs:146:17
[INFO] [stderr]                |
[INFO] [stderr]            146 |     let lexer = token::Tokenizer::new(s);
[INFO] [stderr]                |                 ^^^^^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stderr]                |
[INFO] [stderr]            help: the trait `Logos<'_>` is not implemented for `Token`
[INFO] [stderr]               --> src/token.rs:10:1
[INFO] [stderr]                |
[INFO] [stderr]             10 | pub enum Token {
[INFO] [stderr]                | ^^^^^^^^^^^^^^
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `Token: Logos<'_>` is not satisfied
[INFO] [stderr]               --> src/lib.rs:146:17
[INFO] [stderr]                |
[INFO] [stderr]            146 |     let lexer = token::Tokenizer::new(s);
[INFO] [stderr]                |                 ^^^^^^^^^^^^^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stderr]                |
[INFO] [stderr]            help: the trait `Logos<'_>` is not implemented for `Token`
[INFO] [stderr]               --> src/token.rs:10:1
[INFO] [stderr]                |
[INFO] [stderr]             10 | pub enum Token {
[INFO] [stderr]                | ^^^^^^^^^^^^^^
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `Token: Logos<'_>` is not satisfied
[INFO] [stderr]               --> src/lib.rs:147:8
[INFO] [stderr]                |
[INFO] [stderr]            147 |     Ok(grammar::ArgsParser::new().parse(None, lexer)?)
[INFO] [stderr]                |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stderr]                |
[INFO] [stderr]            help: the trait `Logos<'_>` is not implemented for `Token`
[INFO] [stderr]               --> src/token.rs:10:1
[INFO] [stderr]                |
[INFO] [stderr]             10 | pub enum Token {
[INFO] [stderr]                | ^^^^^^^^^^^^^^
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `Token: Logos<'_>` is not satisfied
[INFO] [stderr]               --> src/lib.rs:151:17
[INFO] [stderr]                |
[INFO] [stderr]            151 |     let lexer = token::Tokenizer::new(s);
[INFO] [stderr]                |                 ^^^^^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stderr]                |
[INFO] [stderr]            help: the trait `Logos<'_>` is not implemented for `Token`
[INFO] [stderr]               --> src/token.rs:10:1
[INFO] [stderr]                |
[INFO] [stderr]             10 | pub enum Token {
[INFO] [stderr]                | ^^^^^^^^^^^^^^
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `Token: Logos<'_>` is not satisfied
[INFO] [stderr]               --> src/lib.rs:151:17
[INFO] [stderr]                |
[INFO] [stderr]            151 |     let lexer = token::Tokenizer::new(s);
[INFO] [stderr]                |                 ^^^^^^^^^^^^^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stderr]                |
[INFO] [stderr]            help: the trait `Logos<'_>` is not implemented for `Token`
[INFO] [stderr]               --> src/token.rs:10:1
[INFO] [stderr]                |
[INFO] [stderr]             10 | pub enum Token {
[INFO] [stderr]                | ^^^^^^^^^^^^^^
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `Token: Logos<'_>` is not satisfied
[INFO] [stderr]               --> src/lib.rs:152:8
[INFO] [stderr]                |
[INFO] [stderr]            152 |     Ok(grammar::ArgParser::new().parse(None, lexer)?)
[INFO] [stderr]                |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stderr]                |
[INFO] [stderr]            help: the trait `Logos<'_>` is not implemented for `Token`
[INFO] [stderr]               --> src/token.rs:10:1
[INFO] [stderr]                |
[INFO] [stderr]             10 | pub enum Token {
[INFO] [stderr]                | ^^^^^^^^^^^^^^
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: aborting due to 117 previous errors
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            Some errors have detailed explanations: E0277, E0599.
[INFO] [stderr]            
[INFO] [stderr]            For more information about an error, try `rustc --explain E0277`.
[INFO] [stderr] help: to report this as a bug, open an issue at https://github.com/rust-lang/rust/issues, quoting the full output of this command
[INFO] [stderr] help: to possibly apply more fixes, pass in the `--broken-code` flag
[INFO] [stderr] note: original diagnostics will follow:
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 44s
[INFO] [stderr] crater-edition-check: candid_parser v0.3.2 (/opt/rustwide/workdir) updating edition from 2021 to 2024
[INFO] [stderr]    Compiling candid_parser v0.3.2 (/opt/rustwide/workdir)
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]   --> src/bindings/javascript.rs:11:27
[INFO] [stdout]    |
[INFO] [stdout] 11 |         TypeInner::Record(ref fs) => is_tuple_fields(fs),
[INFO] [stdout]    |                           ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]    |
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]   --> src/bindings/javascript.rs:11:9
[INFO] [stdout]    |
[INFO] [stdout] 11 |         TypeInner::Record(ref fs) => is_tuple_fields(fs),
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]    |
[INFO] [stdout] 11 -         TypeInner::Record(ref fs) => is_tuple_fields(fs),
[INFO] [stdout] 11 +         TypeInner::Record(fs) => is_tuple_fields(fs),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]    --> src/bindings/javascript.rs:122:13
[INFO] [stdout]     |
[INFO] [stdout] 122 |         Var(ref s) => ident(s),
[INFO] [stdout]     |             ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]    --> src/bindings/javascript.rs:122:9
[INFO] [stdout]     |
[INFO] [stdout] 122 |         Var(ref s) => ident(s),
[INFO] [stdout]     |         ^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]     |
[INFO] [stdout] 122 -         Var(ref s) => ident(s),
[INFO] [stdout] 122 +         Var(s) => ident(s),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]    --> src/bindings/javascript.rs:124:13
[INFO] [stdout]     |
[INFO] [stdout] 124 |         Opt(ref t) => str("IDL.Opt").append(enclose("(", pp_ty(t), ")")),
[INFO] [stdout]     |             ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]    --> src/bindings/javascript.rs:124:9
[INFO] [stdout]     |
[INFO] [stdout] 124 |         Opt(ref t) => str("IDL.Opt").append(enclose("(", pp_ty(t), ")")),
[INFO] [stdout]     |         ^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]     |
[INFO] [stdout] 124 -         Opt(ref t) => str("IDL.Opt").append(enclose("(", pp_ty(t), ")")),
[INFO] [stdout] 124 +         Opt(t) => str("IDL.Opt").append(enclose("(", pp_ty(t), ")")),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]    --> src/bindings/javascript.rs:125:13
[INFO] [stdout]     |
[INFO] [stdout] 125 |         Vec(ref t) => str("IDL.Vec").append(enclose("(", pp_ty(t), ")")),
[INFO] [stdout]     |             ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]    --> src/bindings/javascript.rs:125:9
[INFO] [stdout]     |
[INFO] [stdout] 125 |         Vec(ref t) => str("IDL.Vec").append(enclose("(", pp_ty(t), ")")),
[INFO] [stdout]     |         ^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]     |
[INFO] [stdout] 125 -         Vec(ref t) => str("IDL.Vec").append(enclose("(", pp_ty(t), ")")),
[INFO] [stdout] 125 +         Vec(t) => str("IDL.Vec").append(enclose("(", pp_ty(t), ")")),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]    --> src/bindings/javascript.rs:126:16
[INFO] [stdout]     |
[INFO] [stdout] 126 |         Record(ref fs) => {
[INFO] [stdout]     |                ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]    --> src/bindings/javascript.rs:126:9
[INFO] [stdout]     |
[INFO] [stdout] 126 |         Record(ref fs) => {
[INFO] [stdout]     |         ^^^^^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]     |
[INFO] [stdout] 126 -         Record(ref fs) => {
[INFO] [stdout] 126 +         Record(fs) => {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]    --> src/bindings/javascript.rs:134:17
[INFO] [stdout]     |
[INFO] [stdout] 134 |         Variant(ref fs) => str("IDL.Variant").append(pp_fields(fs)),
[INFO] [stdout]     |                 ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]    --> src/bindings/javascript.rs:134:9
[INFO] [stdout]     |
[INFO] [stdout] 134 |         Variant(ref fs) => str("IDL.Variant").append(pp_fields(fs)),
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]     |
[INFO] [stdout] 134 -         Variant(ref fs) => str("IDL.Variant").append(pp_fields(fs)),
[INFO] [stdout] 134 +         Variant(fs) => str("IDL.Variant").append(pp_fields(fs)),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]    --> src/bindings/javascript.rs:135:14
[INFO] [stdout]     |
[INFO] [stdout] 135 |         Func(ref func) => str("IDL.Func").append(pp_function(func)),
[INFO] [stdout]     |              ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]    --> src/bindings/javascript.rs:135:9
[INFO] [stdout]     |
[INFO] [stdout] 135 |         Func(ref func) => str("IDL.Func").append(pp_function(func)),
[INFO] [stdout]     |         ^^^^^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]     |
[INFO] [stdout] 135 -         Func(ref func) => str("IDL.Func").append(pp_function(func)),
[INFO] [stdout] 135 +         Func(func) => str("IDL.Func").append(pp_function(func)),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]    --> src/bindings/javascript.rs:136:17
[INFO] [stdout]     |
[INFO] [stdout] 136 |         Service(ref serv) => str("IDL.Service").append(pp_service(serv)),
[INFO] [stdout]     |                 ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]    --> src/bindings/javascript.rs:136:9
[INFO] [stdout]     |
[INFO] [stdout] 136 |         Service(ref serv) => str("IDL.Service").append(pp_service(serv)),
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]     |
[INFO] [stdout] 136 -         Service(ref serv) => str("IDL.Service").append(pp_service(serv)),
[INFO] [stdout] 136 +         Service(serv) => str("IDL.Service").append(pp_service(serv)),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]    --> src/bindings/javascript.rs:252:48
[INFO] [stdout]     |
[INFO] [stdout] 252 |             let init = if let TypeInner::Class(ref args, _) = actor.as_ref() {
[INFO] [stdout]     |                                                ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]    --> src/bindings/javascript.rs:252:31
[INFO] [stdout]     |
[INFO] [stdout] 252 |             let init = if let TypeInner::Class(ref args, _) = actor.as_ref() {
[INFO] [stdout]     |                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]     |
[INFO] [stdout] 252 -             let init = if let TypeInner::Class(ref args, _) = actor.as_ref() {
[INFO] [stdout] 252 +             let init = if let TypeInner::Class(args, _) = actor.as_ref() {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]    --> src/bindings/javascript.rs:285:30
[INFO] [stdout]     |
[INFO] [stdout] 285 |             IDLValue::Record(ref fs) => {
[INFO] [stdout]     |                              ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]    --> src/bindings/javascript.rs:285:13
[INFO] [stdout]     |
[INFO] [stdout] 285 |             IDLValue::Record(ref fs) => {
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]     |
[INFO] [stdout] 285 -             IDLValue::Record(ref fs) => {
[INFO] [stdout] 285 +             IDLValue::Record(fs) => {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]   --> src/bindings/motoko.rs:14:27
[INFO] [stdout]    |
[INFO] [stdout] 14 |         TypeInner::Record(ref fs) => is_tuple_fields(fs),
[INFO] [stdout]    |                           ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]    |
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]   --> src/bindings/motoko.rs:14:9
[INFO] [stdout]    |
[INFO] [stdout] 14 |         TypeInner::Record(ref fs) => is_tuple_fields(fs),
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]    |
[INFO] [stdout] 14 -         TypeInner::Record(ref fs) => is_tuple_fields(fs),
[INFO] [stdout] 14 +         TypeInner::Record(fs) => is_tuple_fields(fs),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]    --> src/bindings/motoko.rs:101:29
[INFO] [stdout]     |
[INFO] [stdout] 101 |         (TypeInner::Service(ref meths), Some(IDLType::ServT(methods))) => {
[INFO] [stdout]     |                             ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]    --> src/bindings/motoko.rs:101:10
[INFO] [stdout]     |
[INFO] [stdout] 101 |         (TypeInner::Service(ref meths), Some(IDLType::ServT(methods))) => {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]     |
[INFO] [stdout] 101 -         (TypeInner::Service(ref meths), Some(IDLType::ServT(methods))) => {
[INFO] [stdout] 101 +         (TypeInner::Service(meths), Some(IDLType::ServT(methods))) => {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]    --> src/bindings/motoko.rs:104:27
[INFO] [stdout]     |
[INFO] [stdout] 104 |         (TypeInner::Class(ref args, t), Some(IDLType::ClassT(_, syntax_t))) => {
[INFO] [stdout]     |                           ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]    --> src/bindings/motoko.rs:104:10
[INFO] [stdout]     |
[INFO] [stdout] 104 |         (TypeInner::Class(ref args, t), Some(IDLType::ClassT(_, syntax_t))) => {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]     |
[INFO] [stdout] 104 -         (TypeInner::Class(ref args, t), Some(IDLType::ClassT(_, syntax_t))) => {
[INFO] [stdout] 104 +         (TypeInner::Class(args, t), Some(IDLType::ClassT(_, syntax_t))) => {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]    --> src/bindings/motoko.rs:107:28
[INFO] [stdout]     |
[INFO] [stdout] 107 |         (TypeInner::Record(ref fields), Some(IDLType::RecordT(syntax_fields))) => {
[INFO] [stdout]     |                            ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]    --> src/bindings/motoko.rs:107:10
[INFO] [stdout]     |
[INFO] [stdout] 107 |         (TypeInner::Record(ref fields), Some(IDLType::RecordT(syntax_fields))) => {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]     |
[INFO] [stdout] 107 -         (TypeInner::Record(ref fields), Some(IDLType::RecordT(syntax_fields))) => {
[INFO] [stdout] 107 +         (TypeInner::Record(fields), Some(IDLType::RecordT(syntax_fields))) => {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]    --> src/bindings/motoko.rs:110:29
[INFO] [stdout]     |
[INFO] [stdout] 110 |         (TypeInner::Variant(ref fields), Some(IDLType::VariantT(syntax_fields))) => {
[INFO] [stdout]     |                             ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]    --> src/bindings/motoko.rs:110:10
[INFO] [stdout]     |
[INFO] [stdout] 110 |         (TypeInner::Variant(ref fields), Some(IDLType::VariantT(syntax_fields))) => {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]     |
[INFO] [stdout] 110 -         (TypeInner::Variant(ref fields), Some(IDLType::VariantT(syntax_fields))) => {
[INFO] [stdout] 110 +         (TypeInner::Variant(fields), Some(IDLType::VariantT(syntax_fields))) => {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]    --> src/bindings/motoko.rs:113:25
[INFO] [stdout]     |
[INFO] [stdout] 113 |         (TypeInner::Opt(ref inner), Some(IDLType::OptT(syntax))) => {
[INFO] [stdout]     |                         ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]    --> src/bindings/motoko.rs:113:10
[INFO] [stdout]     |
[INFO] [stdout] 113 |         (TypeInner::Opt(ref inner), Some(IDLType::OptT(syntax))) => {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]     |
[INFO] [stdout] 113 -         (TypeInner::Opt(ref inner), Some(IDLType::OptT(syntax))) => {
[INFO] [stdout] 113 +         (TypeInner::Opt(inner), Some(IDLType::OptT(syntax))) => {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]    --> src/bindings/motoko.rs:116:25
[INFO] [stdout]     |
[INFO] [stdout] 116 |         (TypeInner::Vec(ref inner), Some(IDLType::VecT(syntax))) => pp_vec(inner, Some(syntax)),
[INFO] [stdout]     |                         ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]    --> src/bindings/motoko.rs:116:10
[INFO] [stdout]     |
[INFO] [stdout] 116 |         (TypeInner::Vec(ref inner), Some(IDLType::VecT(syntax))) => pp_vec(inner, Some(syntax)),
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]     |
[INFO] [stdout] 116 -         (TypeInner::Vec(ref inner), Some(IDLType::VecT(syntax))) => pp_vec(inner, Some(syntax)),
[INFO] [stdout] 116 +         (TypeInner::Vec(inner), Some(IDLType::VecT(syntax))) => pp_vec(inner, Some(syntax)),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]    --> src/bindings/motoko.rs:141:13
[INFO] [stdout]     |
[INFO] [stdout] 141 |         Var(ref s) => escape(s, false),
[INFO] [stdout]     |             ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]    --> src/bindings/motoko.rs:141:9
[INFO] [stdout]     |
[INFO] [stdout] 141 |         Var(ref s) => escape(s, false),
[INFO] [stdout]     |         ^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]     |
[INFO] [stdout] 141 -         Var(ref s) => escape(s, false),
[INFO] [stdout] 141 +         Var(s) => escape(s, false),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]    --> src/bindings/motoko.rs:143:13
[INFO] [stdout]     |
[INFO] [stdout] 143 |         Opt(ref t) => str("?").append(pp_ty(t)),
[INFO] [stdout]     |             ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]    --> src/bindings/motoko.rs:143:9
[INFO] [stdout]     |
[INFO] [stdout] 143 |         Opt(ref t) => str("?").append(pp_ty(t)),
[INFO] [stdout]     |         ^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]     |
[INFO] [stdout] 143 -         Opt(ref t) => str("?").append(pp_ty(t)),
[INFO] [stdout] 143 +         Opt(t) => str("?").append(pp_ty(t)),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]    --> src/bindings/motoko.rs:144:13
[INFO] [stdout]     |
[INFO] [stdout] 144 |         Vec(ref t) => pp_vec(t, None),
[INFO] [stdout]     |             ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]    --> src/bindings/motoko.rs:144:9
[INFO] [stdout]     |
[INFO] [stdout] 144 |         Vec(ref t) => pp_vec(t, None),
[INFO] [stdout]     |         ^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]     |
[INFO] [stdout] 144 -         Vec(ref t) => pp_vec(t, None),
[INFO] [stdout] 144 +         Vec(t) => pp_vec(t, None),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]    --> src/bindings/motoko.rs:145:16
[INFO] [stdout]     |
[INFO] [stdout] 145 |         Record(ref fs) => pp_record(fs, None),
[INFO] [stdout]     |                ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]    --> src/bindings/motoko.rs:145:9
[INFO] [stdout]     |
[INFO] [stdout] 145 |         Record(ref fs) => pp_record(fs, None),
[INFO] [stdout]     |         ^^^^^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]     |
[INFO] [stdout] 145 -         Record(ref fs) => pp_record(fs, None),
[INFO] [stdout] 145 +         Record(fs) => pp_record(fs, None),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]    --> src/bindings/motoko.rs:146:17
[INFO] [stdout]     |
[INFO] [stdout] 146 |         Variant(ref fs) => pp_variant(fs, None),
[INFO] [stdout]     |                 ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]    --> src/bindings/motoko.rs:146:9
[INFO] [stdout]     |
[INFO] [stdout] 146 |         Variant(ref fs) => pp_variant(fs, None),
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]     |
[INFO] [stdout] 146 -         Variant(ref fs) => pp_variant(fs, None),
[INFO] [stdout] 146 +         Variant(fs) => pp_variant(fs, None),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]    --> src/bindings/motoko.rs:147:14
[INFO] [stdout]     |
[INFO] [stdout] 147 |         Func(ref func) => pp_function(func),
[INFO] [stdout]     |              ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]    --> src/bindings/motoko.rs:147:9
[INFO] [stdout]     |
[INFO] [stdout] 147 |         Func(ref func) => pp_function(func),
[INFO] [stdout]     |         ^^^^^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]     |
[INFO] [stdout] 147 -         Func(ref func) => pp_function(func),
[INFO] [stdout] 147 +         Func(func) => pp_function(func),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]    --> src/bindings/motoko.rs:148:17
[INFO] [stdout]     |
[INFO] [stdout] 148 |         Service(ref serv) => pp_service(serv, None),
[INFO] [stdout]     |                 ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]    --> src/bindings/motoko.rs:148:9
[INFO] [stdout]     |
[INFO] [stdout] 148 |         Service(ref serv) => pp_service(serv, None),
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]     |
[INFO] [stdout] 148 -         Service(ref serv) => pp_service(serv, None),
[INFO] [stdout] 148 +         Service(serv) => pp_service(serv, None),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]    --> src/bindings/motoko.rs:149:15
[INFO] [stdout]     |
[INFO] [stdout] 149 |         Class(ref args, ref t) => pp_class((args, t), None),
[INFO] [stdout]     |               ^^^       ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]     |               |
[INFO] [stdout]     |               explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]    --> src/bindings/motoko.rs:149:9
[INFO] [stdout]     |
[INFO] [stdout] 149 |         Class(ref args, ref t) => pp_class((args, t), None),
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout] help: remove the unnecessary binding modifiers
[INFO] [stdout]     |
[INFO] [stdout] 149 -         Class(ref args, ref t) => pp_class((args, t), None),
[INFO] [stdout] 149 +         Class(args, t) => pp_class((args, t), None),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]    --> src/bindings/motoko.rs:313:28
[INFO] [stdout]     |
[INFO] [stdout] 313 |         TypeInner::Service(ref serv) => match syntax {
[INFO] [stdout]     |                            ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]    --> src/bindings/motoko.rs:313:9
[INFO] [stdout]     |
[INFO] [stdout] 313 |         TypeInner::Service(ref serv) => match syntax {
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]     |
[INFO] [stdout] 313 -         TypeInner::Service(ref serv) => match syntax {
[INFO] [stdout] 313 +         TypeInner::Service(serv) => match syntax {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]    --> src/bindings/motoko.rs:315:37
[INFO] [stdout]     |
[INFO] [stdout] 315 |                 typ: IDLType::ServT(ref fields),
[INFO] [stdout]     |                                     ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]    --> src/bindings/motoko.rs:314:18
[INFO] [stdout]     |
[INFO] [stdout] 314 |               Some(IDLActorType {
[INFO] [stdout]     |  __________________^
[INFO] [stdout] 315 | |                 typ: IDLType::ServT(ref fields),
[INFO] [stdout] 316 | |                 docs,
[INFO] [stdout] 317 | |             }) => {
[INFO] [stdout]     | |_____________^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]     |
[INFO] [stdout] 315 -                 typ: IDLType::ServT(ref fields),
[INFO] [stdout] 315 +                 typ: IDLType::ServT(fields),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]    --> src/bindings/motoko.rs:323:26
[INFO] [stdout]     |
[INFO] [stdout] 323 |         TypeInner::Class(ref args, ref t) => match syntax {
[INFO] [stdout]     |                          ^^^       ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]     |                          |
[INFO] [stdout]     |                          explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]    --> src/bindings/motoko.rs:323:9
[INFO] [stdout]     |
[INFO] [stdout] 323 |         TypeInner::Class(ref args, ref t) => match syntax {
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout] help: remove the unnecessary binding modifiers
[INFO] [stdout]     |
[INFO] [stdout] 323 -         TypeInner::Class(ref args, ref t) => match syntax {
[INFO] [stdout] 323 +         TypeInner::Class(args, t) => match syntax {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]    --> src/bindings/rust.rs:262:21
[INFO] [stdout]     |
[INFO] [stdout] 262 |                 Var(ref id) => self.pp_var(id, is_ref),
[INFO] [stdout]     |                     ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]    --> src/bindings/rust.rs:262:17
[INFO] [stdout]     |
[INFO] [stdout] 262 |                 Var(ref id) => self.pp_var(id, is_ref),
[INFO] [stdout]     |                 ^^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]     |
[INFO] [stdout] 262 -                 Var(ref id) => self.pp_var(id, is_ref),
[INFO] [stdout] 262 +                 Var(id) => self.pp_var(id, is_ref),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]    --> src/bindings/rust.rs:264:21
[INFO] [stdout]     |
[INFO] [stdout] 264 |                 Opt(ref t) => self.pp_opt(t, is_ref),
[INFO] [stdout]     |                     ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]    --> src/bindings/rust.rs:264:17
[INFO] [stdout]     |
[INFO] [stdout] 264 |                 Opt(ref t) => self.pp_opt(t, is_ref),
[INFO] [stdout]     |                 ^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]     |
[INFO] [stdout] 264 -                 Opt(ref t) => self.pp_opt(t, is_ref),
[INFO] [stdout] 264 +                 Opt(t) => self.pp_opt(t, is_ref),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]    --> src/bindings/rust.rs:266:21
[INFO] [stdout]     |
[INFO] [stdout] 266 |                 Vec(ref t) if matches!(t.as_ref(), Nat8) => str("serde_bytes::ByteBuf"),
[INFO] [stdout]     |                     ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]    --> src/bindings/rust.rs:266:17
[INFO] [stdout]     |
[INFO] [stdout] 266 |                 Vec(ref t) if matches!(t.as_ref(), Nat8) => str("serde_bytes::ByteBuf"),
[INFO] [stdout]     |                 ^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]     |
[INFO] [stdout] 266 -                 Vec(ref t) if matches!(t.as_ref(), Nat8) => str("serde_bytes::ByteBuf"),
[INFO] [stdout] 266 +                 Vec(t) if matches!(t.as_ref(), Nat8) => str("serde_bytes::ByteBuf"),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]    --> src/bindings/rust.rs:267:21
[INFO] [stdout]     |
[INFO] [stdout] 267 |                 Vec(ref t) => self.pp_vec(t, is_ref),
[INFO] [stdout]     |                     ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]    --> src/bindings/rust.rs:267:17
[INFO] [stdout]     |
[INFO] [stdout] 267 |                 Vec(ref t) => self.pp_vec(t, is_ref),
[INFO] [stdout]     |                 ^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]     |
[INFO] [stdout] 267 -                 Vec(ref t) => self.pp_vec(t, is_ref),
[INFO] [stdout] 267 +                 Vec(t) => self.pp_vec(t, is_ref),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]    --> src/bindings/rust.rs:269:24
[INFO] [stdout]     |
[INFO] [stdout] 269 |                 Record(ref fs) => self.pp_record_fields(fs, None, false, is_ref),
[INFO] [stdout]     |                        ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]    --> src/bindings/rust.rs:269:17
[INFO] [stdout]     |
[INFO] [stdout] 269 |                 Record(ref fs) => self.pp_record_fields(fs, None, false, is_ref),
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]     |
[INFO] [stdout] 269 -                 Record(ref fs) => self.pp_record_fields(fs, None, false, is_ref),
[INFO] [stdout] 269 +                 Record(fs) => self.pp_record_fields(fs, None, false, is_ref),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]    --> src/bindings/rust.rs:270:25
[INFO] [stdout]     |
[INFO] [stdout] 270 |                 Variant(ref fs) => self.pp_variant(fs, is_ref),
[INFO] [stdout]     |                         ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]    --> src/bindings/rust.rs:270:17
[INFO] [stdout]     |
[INFO] [stdout] 270 |                 Variant(ref fs) => self.pp_variant(fs, is_ref),
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]     |
[INFO] [stdout] 270 -                 Variant(ref fs) => self.pp_variant(fs, is_ref),
[INFO] [stdout] 270 +                 Variant(fs) => self.pp_variant(fs, is_ref),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]    --> src/bindings/rust.rs:605:33
[INFO] [stdout]     |
[INFO] [stdout] 605 |                 TypeInner::Func(ref f) => enclose("candid::func!(", self.pp_ty_func(f), ")"),
[INFO] [stdout]     |                                 ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]    --> src/bindings/rust.rs:605:17
[INFO] [stdout]     |
[INFO] [stdout] 605 |                 TypeInner::Func(ref f) => enclose("candid::func!(", self.pp_ty_func(f), ")"),
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]     |
[INFO] [stdout] 605 -                 TypeInner::Func(ref f) => enclose("candid::func!(", self.pp_ty_func(f), ")"),
[INFO] [stdout] 605 +                 TypeInner::Func(f) => enclose("candid::func!(", self.pp_ty_func(f), ")"),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]   --> src/bindings/typescript.rs:33:28
[INFO] [stdout]    |
[INFO] [stdout] 33 |         (TypeInner::Record(ref fields), Some(IDLType::RecordT(syntax_fields))) => {
[INFO] [stdout]    |                            ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]    |
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]   --> src/bindings/typescript.rs:33:10
[INFO] [stdout]    |
[INFO] [stdout] 33 |         (TypeInner::Record(ref fields), Some(IDLType::RecordT(syntax_fields))) => {
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]    |
[INFO] [stdout] 33 -         (TypeInner::Record(ref fields), Some(IDLType::RecordT(syntax_fields))) => {
[INFO] [stdout] 33 +         (TypeInner::Record(fields), Some(IDLType::RecordT(syntax_fields))) => {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]   --> src/bindings/typescript.rs:36:29
[INFO] [stdout]    |
[INFO] [stdout] 36 |         (TypeInner::Variant(ref fields), Some(IDLType::VariantT(syntax_fields))) => {
[INFO] [stdout]    |                             ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]    |
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]   --> src/bindings/typescript.rs:36:10
[INFO] [stdout]    |
[INFO] [stdout] 36 |         (TypeInner::Variant(ref fields), Some(IDLType::VariantT(syntax_fields))) => {
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]    |
[INFO] [stdout] 36 -         (TypeInner::Variant(ref fields), Some(IDLType::VariantT(syntax_fields))) => {
[INFO] [stdout] 36 +         (TypeInner::Variant(fields), Some(IDLType::VariantT(syntax_fields))) => {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]   --> src/bindings/typescript.rs:39:29
[INFO] [stdout]    |
[INFO] [stdout] 39 |         (TypeInner::Service(ref serv), Some(IDLType::ServT(syntax_serv))) => {
[INFO] [stdout]    |                             ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]    |
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]   --> src/bindings/typescript.rs:39:10
[INFO] [stdout]    |
[INFO] [stdout] 39 |         (TypeInner::Service(ref serv), Some(IDLType::ServT(syntax_serv))) => {
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]    |
[INFO] [stdout] 39 -         (TypeInner::Service(ref serv), Some(IDLType::ServT(syntax_serv))) => {
[INFO] [stdout] 39 +         (TypeInner::Service(serv), Some(IDLType::ServT(syntax_serv))) => {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]   --> src/bindings/typescript.rs:42:25
[INFO] [stdout]    |
[INFO] [stdout] 42 |         (TypeInner::Opt(ref t), Some(IDLType::OptT(syntax_inner))) => {
[INFO] [stdout]    |                         ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]    |
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]   --> src/bindings/typescript.rs:42:10
[INFO] [stdout]    |
[INFO] [stdout] 42 |         (TypeInner::Opt(ref t), Some(IDLType::OptT(syntax_inner))) => {
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]    |
[INFO] [stdout] 42 -         (TypeInner::Opt(ref t), Some(IDLType::OptT(syntax_inner))) => {
[INFO] [stdout] 42 +         (TypeInner::Opt(t), Some(IDLType::OptT(syntax_inner))) => {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]   --> src/bindings/typescript.rs:45:25
[INFO] [stdout]    |
[INFO] [stdout] 45 |         (TypeInner::Vec(ref t), Some(IDLType::VecT(syntax_inner))) => {
[INFO] [stdout]    |                         ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]    |
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]   --> src/bindings/typescript.rs:45:10
[INFO] [stdout]    |
[INFO] [stdout] 45 |         (TypeInner::Vec(ref t), Some(IDLType::VecT(syntax_inner))) => {
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]    |
[INFO] [stdout] 45 -         (TypeInner::Vec(ref t), Some(IDLType::VecT(syntax_inner))) => {
[INFO] [stdout] 45 +         (TypeInner::Vec(t), Some(IDLType::VecT(syntax_inner))) => {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]   --> src/bindings/typescript.rs:72:13
[INFO] [stdout]    |
[INFO] [stdout] 72 |         Var(ref id) => {
[INFO] [stdout]    |             ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]    |
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]   --> src/bindings/typescript.rs:72:9
[INFO] [stdout]    |
[INFO] [stdout] 72 |         Var(ref id) => {
[INFO] [stdout]    |         ^^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]    |
[INFO] [stdout] 72 -         Var(ref id) => {
[INFO] [stdout] 72 +         Var(id) => {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]   --> src/bindings/typescript.rs:83:13
[INFO] [stdout]    |
[INFO] [stdout] 83 |         Opt(ref t) => pp_opt(env, t, None, is_ref),
[INFO] [stdout]    |             ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]    |
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]   --> src/bindings/typescript.rs:83:9
[INFO] [stdout]    |
[INFO] [stdout] 83 |         Opt(ref t) => pp_opt(env, t, None, is_ref),
[INFO] [stdout]    |         ^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]    |
[INFO] [stdout] 83 -         Opt(ref t) => pp_opt(env, t, None, is_ref),
[INFO] [stdout] 83 +         Opt(t) => pp_opt(env, t, None, is_ref),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]   --> src/bindings/typescript.rs:84:13
[INFO] [stdout]    |
[INFO] [stdout] 84 |         Vec(ref t) => pp_vec(env, t, None, is_ref),
[INFO] [stdout]    |             ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]    |
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]   --> src/bindings/typescript.rs:84:9
[INFO] [stdout]    |
[INFO] [stdout] 84 |         Vec(ref t) => pp_vec(env, t, None, is_ref),
[INFO] [stdout]    |         ^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]    |
[INFO] [stdout] 84 -         Vec(ref t) => pp_vec(env, t, None, is_ref),
[INFO] [stdout] 84 +         Vec(t) => pp_vec(env, t, None, is_ref),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]   --> src/bindings/typescript.rs:85:16
[INFO] [stdout]    |
[INFO] [stdout] 85 |         Record(ref fs) => pp_record(env, fs, None, is_ref),
[INFO] [stdout]    |                ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]    |
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]   --> src/bindings/typescript.rs:85:9
[INFO] [stdout]    |
[INFO] [stdout] 85 |         Record(ref fs) => pp_record(env, fs, None, is_ref),
[INFO] [stdout]    |         ^^^^^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]    |
[INFO] [stdout] 85 -         Record(ref fs) => pp_record(env, fs, None, is_ref),
[INFO] [stdout] 85 +         Record(fs) => pp_record(env, fs, None, is_ref),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]   --> src/bindings/typescript.rs:86:17
[INFO] [stdout]    |
[INFO] [stdout] 86 |         Variant(ref fs) => pp_variant(env, fs, None, is_ref),
[INFO] [stdout]    |                 ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]    |
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]   --> src/bindings/typescript.rs:86:9
[INFO] [stdout]    |
[INFO] [stdout] 86 |         Variant(ref fs) => pp_variant(env, fs, None, is_ref),
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]    |
[INFO] [stdout] 86 -         Variant(ref fs) => pp_variant(env, fs, None, is_ref),
[INFO] [stdout] 86 +         Variant(fs) => pp_variant(env, fs, None, is_ref),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]    --> src/bindings/typescript.rs:120:13
[INFO] [stdout]     |
[INFO] [stdout] 120 |         Var(ref id) => {
[INFO] [stdout]     |             ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]    --> src/bindings/typescript.rs:120:9
[INFO] [stdout]     |
[INFO] [stdout] 120 |         Var(ref id) => {
[INFO] [stdout]     |         ^^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]     |
[INFO] [stdout] 120 -         Var(ref id) => {
[INFO] [stdout] 120 +         Var(id) => {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]    --> src/bindings/typescript.rs:240:29
[INFO] [stdout]     |
[INFO] [stdout] 240 |             TypeInner::Func(ref func) => pp_function(env, func),
[INFO] [stdout]     |                             ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]    --> src/bindings/typescript.rs:240:13
[INFO] [stdout]     |
[INFO] [stdout] 240 |             TypeInner::Func(ref func) => pp_function(env, func),
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]     |
[INFO] [stdout] 240 -             TypeInner::Func(ref func) => pp_function(env, func),
[INFO] [stdout] 240 +             TypeInner::Func(func) => pp_function(env, func),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]    --> src/bindings/typescript.rs:241:28
[INFO] [stdout]     |
[INFO] [stdout] 241 |             TypeInner::Var(ref id) => ident(id),
[INFO] [stdout]     |                            ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]    --> src/bindings/typescript.rs:241:13
[INFO] [stdout]     |
[INFO] [stdout] 241 |             TypeInner::Var(ref id) => ident(id),
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]     |
[INFO] [stdout] 241 -             TypeInner::Var(ref id) => ident(id),
[INFO] [stdout] 241 +             TypeInner::Var(id) => ident(id),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]    --> src/bindings/typescript.rs:287:29
[INFO] [stdout]     |
[INFO] [stdout] 287 |             TypeInner::Func(ref func) => kwd("export type")
[INFO] [stdout]     |                             ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]    --> src/bindings/typescript.rs:287:13
[INFO] [stdout]     |
[INFO] [stdout] 287 |             TypeInner::Func(ref func) => kwd("export type")
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]     |
[INFO] [stdout] 287 -             TypeInner::Func(ref func) => kwd("export type")
[INFO] [stdout] 287 +             TypeInner::Func(func) => kwd("export type")
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]    --> src/bindings/typescript.rs:292:28
[INFO] [stdout]     |
[INFO] [stdout] 292 |             TypeInner::Var(ref inner_id) => kwd("export type")
[INFO] [stdout]     |                            ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]    --> src/bindings/typescript.rs:292:13
[INFO] [stdout]     |
[INFO] [stdout] 292 |             TypeInner::Var(ref inner_id) => kwd("export type")
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]     |
[INFO] [stdout] 292 -             TypeInner::Var(ref inner_id) => kwd("export type")
[INFO] [stdout] 292 +             TypeInner::Var(inner_id) => kwd("export type")
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]   --> src/bindings/javascript.rs:11:27
[INFO] [stdout]    |
[INFO] [stdout] 11 |         TypeInner::Record(ref fs) => is_tuple_fields(fs),
[INFO] [stdout]    |                           ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]    |
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]   --> src/bindings/javascript.rs:11:9
[INFO] [stdout]    |
[INFO] [stdout] 11 |         TypeInner::Record(ref fs) => is_tuple_fields(fs),
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]    |
[INFO] [stdout] 11 -         TypeInner::Record(ref fs) => is_tuple_fields(fs),
[INFO] [stdout] 11 +         TypeInner::Record(fs) => is_tuple_fields(fs),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]    --> src/bindings/javascript.rs:122:13
[INFO] [stdout]     |
[INFO] [stdout] 122 |         Var(ref s) => ident(s),
[INFO] [stdout]     |             ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]    --> src/bindings/javascript.rs:122:9
[INFO] [stdout]     |
[INFO] [stdout] 122 |         Var(ref s) => ident(s),
[INFO] [stdout]     |         ^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]     |
[INFO] [stdout] 122 -         Var(ref s) => ident(s),
[INFO] [stdout] 122 +         Var(s) => ident(s),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]    --> src/bindings/javascript.rs:124:13
[INFO] [stdout]     |
[INFO] [stdout] 124 |         Opt(ref t) => str("IDL.Opt").append(enclose("(", pp_ty(t), ")")),
[INFO] [stdout]     |             ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]    --> src/bindings/javascript.rs:124:9
[INFO] [stdout]     |
[INFO] [stdout] 124 |         Opt(ref t) => str("IDL.Opt").append(enclose("(", pp_ty(t), ")")),
[INFO] [stdout]     |         ^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]     |
[INFO] [stdout] 124 -         Opt(ref t) => str("IDL.Opt").append(enclose("(", pp_ty(t), ")")),
[INFO] [stdout] 124 +         Opt(t) => str("IDL.Opt").append(enclose("(", pp_ty(t), ")")),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]    --> src/bindings/javascript.rs:125:13
[INFO] [stdout]     |
[INFO] [stdout] 125 |         Vec(ref t) => str("IDL.Vec").append(enclose("(", pp_ty(t), ")")),
[INFO] [stdout]     |             ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]    --> src/bindings/javascript.rs:125:9
[INFO] [stdout]     |
[INFO] [stdout] 125 |         Vec(ref t) => str("IDL.Vec").append(enclose("(", pp_ty(t), ")")),
[INFO] [stdout]     |         ^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]     |
[INFO] [stdout] 125 -         Vec(ref t) => str("IDL.Vec").append(enclose("(", pp_ty(t), ")")),
[INFO] [stdout] 125 +         Vec(t) => str("IDL.Vec").append(enclose("(", pp_ty(t), ")")),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]    --> src/bindings/javascript.rs:126:16
[INFO] [stdout]     |
[INFO] [stdout] 126 |         Record(ref fs) => {
[INFO] [stdout]     |                ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]    --> src/bindings/javascript.rs:126:9
[INFO] [stdout]     |
[INFO] [stdout] 126 |         Record(ref fs) => {
[INFO] [stdout]     |         ^^^^^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]     |
[INFO] [stdout] 126 -         Record(ref fs) => {
[INFO] [stdout] 126 +         Record(fs) => {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]    --> src/bindings/javascript.rs:134:17
[INFO] [stdout]     |
[INFO] [stdout] 134 |         Variant(ref fs) => str("IDL.Variant").append(pp_fields(fs)),
[INFO] [stdout]     |                 ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]    --> src/bindings/javascript.rs:134:9
[INFO] [stdout]     |
[INFO] [stdout] 134 |         Variant(ref fs) => str("IDL.Variant").append(pp_fields(fs)),
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]     |
[INFO] [stdout] 134 -         Variant(ref fs) => str("IDL.Variant").append(pp_fields(fs)),
[INFO] [stdout] 134 +         Variant(fs) => str("IDL.Variant").append(pp_fields(fs)),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]    --> src/bindings/javascript.rs:135:14
[INFO] [stdout]     |
[INFO] [stdout] 135 |         Func(ref func) => str("IDL.Func").append(pp_function(func)),
[INFO] [stdout]     |              ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]    --> src/bindings/javascript.rs:135:9
[INFO] [stdout]     |
[INFO] [stdout] 135 |         Func(ref func) => str("IDL.Func").append(pp_function(func)),
[INFO] [stdout]     |         ^^^^^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]     |
[INFO] [stdout] 135 -         Func(ref func) => str("IDL.Func").append(pp_function(func)),
[INFO] [stdout] 135 +         Func(func) => str("IDL.Func").append(pp_function(func)),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]    --> src/bindings/javascript.rs:136:17
[INFO] [stdout]     |
[INFO] [stdout] 136 |         Service(ref serv) => str("IDL.Service").append(pp_service(serv)),
[INFO] [stdout]     |                 ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]    --> src/bindings/javascript.rs:136:9
[INFO] [stdout]     |
[INFO] [stdout] 136 |         Service(ref serv) => str("IDL.Service").append(pp_service(serv)),
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]     |
[INFO] [stdout] 136 -         Service(ref serv) => str("IDL.Service").append(pp_service(serv)),
[INFO] [stdout] 136 +         Service(serv) => str("IDL.Service").append(pp_service(serv)),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]    --> src/bindings/javascript.rs:252:48
[INFO] [stdout]     |
[INFO] [stdout] 252 |             let init = if let TypeInner::Class(ref args, _) = actor.as_ref() {
[INFO] [stdout]     |                                                ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]    --> src/bindings/javascript.rs:252:31
[INFO] [stdout]     |
[INFO] [stdout] 252 |             let init = if let TypeInner::Class(ref args, _) = actor.as_ref() {
[INFO] [stdout]     |                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]     |
[INFO] [stdout] 252 -             let init = if let TypeInner::Class(ref args, _) = actor.as_ref() {
[INFO] [stdout] 252 +             let init = if let TypeInner::Class(args, _) = actor.as_ref() {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]    --> src/bindings/javascript.rs:285:30
[INFO] [stdout]     |
[INFO] [stdout] 285 |             IDLValue::Record(ref fs) => {
[INFO] [stdout]     |                              ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]    --> src/bindings/javascript.rs:285:13
[INFO] [stdout]     |
[INFO] [stdout] 285 |             IDLValue::Record(ref fs) => {
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]     |
[INFO] [stdout] 285 -             IDLValue::Record(ref fs) => {
[INFO] [stdout] 285 +             IDLValue::Record(fs) => {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]   --> src/bindings/motoko.rs:14:27
[INFO] [stdout]    |
[INFO] [stdout] 14 |         TypeInner::Record(ref fs) => is_tuple_fields(fs),
[INFO] [stdout]    |                           ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]    |
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]   --> src/bindings/motoko.rs:14:9
[INFO] [stdout]    |
[INFO] [stdout] 14 |         TypeInner::Record(ref fs) => is_tuple_fields(fs),
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]    |
[INFO] [stdout] 14 -         TypeInner::Record(ref fs) => is_tuple_fields(fs),
[INFO] [stdout] 14 +         TypeInner::Record(fs) => is_tuple_fields(fs),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]    --> src/bindings/motoko.rs:101:29
[INFO] [stdout]     |
[INFO] [stdout] 101 |         (TypeInner::Service(ref meths), Some(IDLType::ServT(methods))) => {
[INFO] [stdout]     |                             ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]    --> src/bindings/motoko.rs:101:10
[INFO] [stdout]     |
[INFO] [stdout] 101 |         (TypeInner::Service(ref meths), Some(IDLType::ServT(methods))) => {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]     |
[INFO] [stdout] 101 -         (TypeInner::Service(ref meths), Some(IDLType::ServT(methods))) => {
[INFO] [stdout] 101 +         (TypeInner::Service(meths), Some(IDLType::ServT(methods))) => {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]    --> src/bindings/motoko.rs:104:27
[INFO] [stdout]     |
[INFO] [stdout] 104 |         (TypeInner::Class(ref args, t), Some(IDLType::ClassT(_, syntax_t))) => {
[INFO] [stdout]     |                           ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]    --> src/bindings/motoko.rs:104:10
[INFO] [stdout]     |
[INFO] [stdout] 104 |         (TypeInner::Class(ref args, t), Some(IDLType::ClassT(_, syntax_t))) => {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]     |
[INFO] [stdout] 104 -         (TypeInner::Class(ref args, t), Some(IDLType::ClassT(_, syntax_t))) => {
[INFO] [stdout] 104 +         (TypeInner::Class(args, t), Some(IDLType::ClassT(_, syntax_t))) => {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]    --> src/bindings/motoko.rs:107:28
[INFO] [stdout]     |
[INFO] [stdout] 107 |         (TypeInner::Record(ref fields), Some(IDLType::RecordT(syntax_fields))) => {
[INFO] [stdout]     |                            ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]    --> src/bindings/motoko.rs:107:10
[INFO] [stdout]     |
[INFO] [stdout] 107 |         (TypeInner::Record(ref fields), Some(IDLType::RecordT(syntax_fields))) => {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]     |
[INFO] [stdout] 107 -         (TypeInner::Record(ref fields), Some(IDLType::RecordT(syntax_fields))) => {
[INFO] [stdout] 107 +         (TypeInner::Record(fields), Some(IDLType::RecordT(syntax_fields))) => {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]    --> src/bindings/motoko.rs:110:29
[INFO] [stdout]     |
[INFO] [stdout] 110 |         (TypeInner::Variant(ref fields), Some(IDLType::VariantT(syntax_fields))) => {
[INFO] [stdout]     |                             ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]    --> src/bindings/motoko.rs:110:10
[INFO] [stdout]     |
[INFO] [stdout] 110 |         (TypeInner::Variant(ref fields), Some(IDLType::VariantT(syntax_fields))) => {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]     |
[INFO] [stdout] 110 -         (TypeInner::Variant(ref fields), Some(IDLType::VariantT(syntax_fields))) => {
[INFO] [stdout] 110 +         (TypeInner::Variant(fields), Some(IDLType::VariantT(syntax_fields))) => {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]    --> src/bindings/motoko.rs:113:25
[INFO] [stdout]     |
[INFO] [stdout] 113 |         (TypeInner::Opt(ref inner), Some(IDLType::OptT(syntax))) => {
[INFO] [stdout]     |                         ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]    --> src/bindings/motoko.rs:113:10
[INFO] [stdout]     |
[INFO] [stdout] 113 |         (TypeInner::Opt(ref inner), Some(IDLType::OptT(syntax))) => {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]     |
[INFO] [stdout] 113 -         (TypeInner::Opt(ref inner), Some(IDLType::OptT(syntax))) => {
[INFO] [stdout] 113 +         (TypeInner::Opt(inner), Some(IDLType::OptT(syntax))) => {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]    --> src/bindings/motoko.rs:116:25
[INFO] [stdout]     |
[INFO] [stdout] 116 |         (TypeInner::Vec(ref inner), Some(IDLType::VecT(syntax))) => pp_vec(inner, Some(syntax)),
[INFO] [stdout]     |                         ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]    --> src/bindings/motoko.rs:116:10
[INFO] [stdout]     |
[INFO] [stdout] 116 |         (TypeInner::Vec(ref inner), Some(IDLType::VecT(syntax))) => pp_vec(inner, Some(syntax)),
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]     |
[INFO] [stdout] 116 -         (TypeInner::Vec(ref inner), Some(IDLType::VecT(syntax))) => pp_vec(inner, Some(syntax)),
[INFO] [stdout] 116 +         (TypeInner::Vec(inner), Some(IDLType::VecT(syntax))) => pp_vec(inner, Some(syntax)),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]    --> src/bindings/motoko.rs:141:13
[INFO] [stdout]     |
[INFO] [stdout] 141 |         Var(ref s) => escape(s, false),
[INFO] [stdout]     |             ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]    --> src/bindings/motoko.rs:141:9
[INFO] [stdout]     |
[INFO] [stdout] 141 |         Var(ref s) => escape(s, false),
[INFO] [stdout]     |         ^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]     |
[INFO] [stdout] 141 -         Var(ref s) => escape(s, false),
[INFO] [stdout] 141 +         Var(s) => escape(s, false),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]    --> src/bindings/motoko.rs:143:13
[INFO] [stdout]     |
[INFO] [stdout] 143 |         Opt(ref t) => str("?").append(pp_ty(t)),
[INFO] [stdout]     |             ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]    --> src/bindings/motoko.rs:143:9
[INFO] [stdout]     |
[INFO] [stdout] 143 |         Opt(ref t) => str("?").append(pp_ty(t)),
[INFO] [stdout]     |         ^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]     |
[INFO] [stdout] 143 -         Opt(ref t) => str("?").append(pp_ty(t)),
[INFO] [stdout] 143 +         Opt(t) => str("?").append(pp_ty(t)),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]    --> src/bindings/motoko.rs:144:13
[INFO] [stdout]     |
[INFO] [stdout] 144 |         Vec(ref t) => pp_vec(t, None),
[INFO] [stdout]     |             ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]    --> src/bindings/motoko.rs:144:9
[INFO] [stdout]     |
[INFO] [stdout] 144 |         Vec(ref t) => pp_vec(t, None),
[INFO] [stdout]     |         ^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]     |
[INFO] [stdout] 144 -         Vec(ref t) => pp_vec(t, None),
[INFO] [stdout] 144 +         Vec(t) => pp_vec(t, None),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]    --> src/bindings/motoko.rs:145:16
[INFO] [stdout]     |
[INFO] [stdout] 145 |         Record(ref fs) => pp_record(fs, None),
[INFO] [stdout]     |                ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]    --> src/bindings/motoko.rs:145:9
[INFO] [stdout]     |
[INFO] [stdout] 145 |         Record(ref fs) => pp_record(fs, None),
[INFO] [stdout]     |         ^^^^^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]     |
[INFO] [stdout] 145 -         Record(ref fs) => pp_record(fs, None),
[INFO] [stdout] 145 +         Record(fs) => pp_record(fs, None),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]    --> src/bindings/motoko.rs:146:17
[INFO] [stdout]     |
[INFO] [stdout] 146 |         Variant(ref fs) => pp_variant(fs, None),
[INFO] [stdout]     |                 ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]    --> src/bindings/motoko.rs:146:9
[INFO] [stdout]     |
[INFO] [stdout] 146 |         Variant(ref fs) => pp_variant(fs, None),
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]     |
[INFO] [stdout] 146 -         Variant(ref fs) => pp_variant(fs, None),
[INFO] [stdout] 146 +         Variant(fs) => pp_variant(fs, None),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]    --> src/bindings/motoko.rs:147:14
[INFO] [stdout]     |
[INFO] [stdout] 147 |         Func(ref func) => pp_function(func),
[INFO] [stdout]     |              ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]    --> src/bindings/motoko.rs:147:9
[INFO] [stdout]     |
[INFO] [stdout] 147 |         Func(ref func) => pp_function(func),
[INFO] [stdout]     |         ^^^^^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]     |
[INFO] [stdout] 147 -         Func(ref func) => pp_function(func),
[INFO] [stdout] 147 +         Func(func) => pp_function(func),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]    --> src/bindings/motoko.rs:148:17
[INFO] [stdout]     |
[INFO] [stdout] 148 |         Service(ref serv) => pp_service(serv, None),
[INFO] [stdout]     |                 ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]    --> src/bindings/motoko.rs:148:9
[INFO] [stdout]     |
[INFO] [stdout] 148 |         Service(ref serv) => pp_service(serv, None),
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]     |
[INFO] [stdout] 148 -         Service(ref serv) => pp_service(serv, None),
[INFO] [stdout] 148 +         Service(serv) => pp_service(serv, None),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]    --> src/bindings/motoko.rs:149:15
[INFO] [stdout]     |
[INFO] [stdout] 149 |         Class(ref args, ref t) => pp_class((args, t), None),
[INFO] [stdout]     |               ^^^       ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]     |               |
[INFO] [stdout]     |               explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]    --> src/bindings/motoko.rs:149:9
[INFO] [stdout]     |
[INFO] [stdout] 149 |         Class(ref args, ref t) => pp_class((args, t), None),
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout] help: remove the unnecessary binding modifiers
[INFO] [stdout]     |
[INFO] [stdout] 149 -         Class(ref args, ref t) => pp_class((args, t), None),
[INFO] [stdout] 149 +         Class(args, t) => pp_class((args, t), None),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]    --> src/bindings/motoko.rs:313:28
[INFO] [stdout]     |
[INFO] [stdout] 313 |         TypeInner::Service(ref serv) => match syntax {
[INFO] [stdout]     |                            ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]    --> src/bindings/motoko.rs:313:9
[INFO] [stdout]     |
[INFO] [stdout] 313 |         TypeInner::Service(ref serv) => match syntax {
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]     |
[INFO] [stdout] 313 -         TypeInner::Service(ref serv) => match syntax {
[INFO] [stdout] 313 +         TypeInner::Service(serv) => match syntax {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]    --> src/bindings/motoko.rs:315:37
[INFO] [stdout]     |
[INFO] [stdout] 315 |                 typ: IDLType::ServT(ref fields),
[INFO] [stdout]     |                                     ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]    --> src/bindings/motoko.rs:314:18
[INFO] [stdout]     |
[INFO] [stdout] 314 |               Some(IDLActorType {
[INFO] [stdout]     |  __________________^
[INFO] [stdout] 315 | |                 typ: IDLType::ServT(ref fields),
[INFO] [stdout] 316 | |                 docs,
[INFO] [stdout] 317 | |             }) => {
[INFO] [stdout]     | |_____________^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]     |
[INFO] [stdout] 315 -                 typ: IDLType::ServT(ref fields),
[INFO] [stdout] 315 +                 typ: IDLType::ServT(fields),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]    --> src/bindings/motoko.rs:323:26
[INFO] [stdout]     |
[INFO] [stdout] 323 |         TypeInner::Class(ref args, ref t) => match syntax {
[INFO] [stdout]     |                          ^^^       ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]     |                          |
[INFO] [stdout]     |                          explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]    --> src/bindings/motoko.rs:323:9
[INFO] [stdout]     |
[INFO] [stdout] 323 |         TypeInner::Class(ref args, ref t) => match syntax {
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout] help: remove the unnecessary binding modifiers
[INFO] [stdout]     |
[INFO] [stdout] 323 -         TypeInner::Class(ref args, ref t) => match syntax {
[INFO] [stdout] 323 +         TypeInner::Class(args, t) => match syntax {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]    --> src/bindings/rust.rs:262:21
[INFO] [stdout]     |
[INFO] [stdout] 262 |                 Var(ref id) => self.pp_var(id, is_ref),
[INFO] [stdout]     |                     ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]    --> src/bindings/rust.rs:262:17
[INFO] [stdout]     |
[INFO] [stdout] 262 |                 Var(ref id) => self.pp_var(id, is_ref),
[INFO] [stdout]     |                 ^^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]     |
[INFO] [stdout] 262 -                 Var(ref id) => self.pp_var(id, is_ref),
[INFO] [stdout] 262 +                 Var(id) => self.pp_var(id, is_ref),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]    --> src/bindings/rust.rs:264:21
[INFO] [stdout]     |
[INFO] [stdout] 264 |                 Opt(ref t) => self.pp_opt(t, is_ref),
[INFO] [stdout]     |                     ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]    --> src/bindings/rust.rs:264:17
[INFO] [stdout]     |
[INFO] [stdout] 264 |                 Opt(ref t) => self.pp_opt(t, is_ref),
[INFO] [stdout]     |                 ^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]     |
[INFO] [stdout] 264 -                 Opt(ref t) => self.pp_opt(t, is_ref),
[INFO] [stdout] 264 +                 Opt(t) => self.pp_opt(t, is_ref),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]    --> src/bindings/rust.rs:266:21
[INFO] [stdout]     |
[INFO] [stdout] 266 |                 Vec(ref t) if matches!(t.as_ref(), Nat8) => str("serde_bytes::ByteBuf"),
[INFO] [stdout]     |                     ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]    --> src/bindings/rust.rs:266:17
[INFO] [stdout]     |
[INFO] [stdout] 266 |                 Vec(ref t) if matches!(t.as_ref(), Nat8) => str("serde_bytes::ByteBuf"),
[INFO] [stdout]     |                 ^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]     |
[INFO] [stdout] 266 -                 Vec(ref t) if matches!(t.as_ref(), Nat8) => str("serde_bytes::ByteBuf"),
[INFO] [stdout] 266 +                 Vec(t) if matches!(t.as_ref(), Nat8) => str("serde_bytes::ByteBuf"),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]    --> src/bindings/rust.rs:267:21
[INFO] [stdout]     |
[INFO] [stdout] 267 |                 Vec(ref t) => self.pp_vec(t, is_ref),
[INFO] [stdout]     |                     ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]    --> src/bindings/rust.rs:267:17
[INFO] [stdout]     |
[INFO] [stdout] 267 |                 Vec(ref t) => self.pp_vec(t, is_ref),
[INFO] [stdout]     |                 ^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]     |
[INFO] [stdout] 267 -                 Vec(ref t) => self.pp_vec(t, is_ref),
[INFO] [stdout] 267 +                 Vec(t) => self.pp_vec(t, is_ref),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]    --> src/bindings/rust.rs:269:24
[INFO] [stdout]     |
[INFO] [stdout] 269 |                 Record(ref fs) => self.pp_record_fields(fs, None, false, is_ref),
[INFO] [stdout]     |                        ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]    --> src/bindings/rust.rs:269:17
[INFO] [stdout]     |
[INFO] [stdout] 269 |                 Record(ref fs) => self.pp_record_fields(fs, None, false, is_ref),
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]     |
[INFO] [stdout] 269 -                 Record(ref fs) => self.pp_record_fields(fs, None, false, is_ref),
[INFO] [stdout] 269 +                 Record(fs) => self.pp_record_fields(fs, None, false, is_ref),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]    --> src/bindings/rust.rs:270:25
[INFO] [stdout]     |
[INFO] [stdout] 270 |                 Variant(ref fs) => self.pp_variant(fs, is_ref),
[INFO] [stdout]     |                         ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]    --> src/bindings/rust.rs:270:17
[INFO] [stdout]     |
[INFO] [stdout] 270 |                 Variant(ref fs) => self.pp_variant(fs, is_ref),
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]     |
[INFO] [stdout] 270 -                 Variant(ref fs) => self.pp_variant(fs, is_ref),
[INFO] [stdout] 270 +                 Variant(fs) => self.pp_variant(fs, is_ref),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]    --> src/bindings/rust.rs:605:33
[INFO] [stdout]     |
[INFO] [stdout] 605 |                 TypeInner::Func(ref f) => enclose("candid::func!(", self.pp_ty_func(f), ")"),
[INFO] [stdout]     |                                 ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]    --> src/bindings/rust.rs:605:17
[INFO] [stdout]     |
[INFO] [stdout] 605 |                 TypeInner::Func(ref f) => enclose("candid::func!(", self.pp_ty_func(f), ")"),
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]     |
[INFO] [stdout] 605 -                 TypeInner::Func(ref f) => enclose("candid::func!(", self.pp_ty_func(f), ")"),
[INFO] [stdout] 605 +                 TypeInner::Func(f) => enclose("candid::func!(", self.pp_ty_func(f), ")"),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]   --> src/bindings/typescript.rs:33:28
[INFO] [stdout]    |
[INFO] [stdout] 33 |         (TypeInner::Record(ref fields), Some(IDLType::RecordT(syntax_fields))) => {
[INFO] [stdout]    |                            ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]    |
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]   --> src/bindings/typescript.rs:33:10
[INFO] [stdout]    |
[INFO] [stdout] 33 |         (TypeInner::Record(ref fields), Some(IDLType::RecordT(syntax_fields))) => {
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]    |
[INFO] [stdout] 33 -         (TypeInner::Record(ref fields), Some(IDLType::RecordT(syntax_fields))) => {
[INFO] [stdout] 33 +         (TypeInner::Record(fields), Some(IDLType::RecordT(syntax_fields))) => {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]   --> src/bindings/typescript.rs:36:29
[INFO] [stdout]    |
[INFO] [stdout] 36 |         (TypeInner::Variant(ref fields), Some(IDLType::VariantT(syntax_fields))) => {
[INFO] [stdout]    |                             ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]    |
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]   --> src/bindings/typescript.rs:36:10
[INFO] [stdout]    |
[INFO] [stdout] 36 |         (TypeInner::Variant(ref fields), Some(IDLType::VariantT(syntax_fields))) => {
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]    |
[INFO] [stdout] 36 -         (TypeInner::Variant(ref fields), Some(IDLType::VariantT(syntax_fields))) => {
[INFO] [stdout] 36 +         (TypeInner::Variant(fields), Some(IDLType::VariantT(syntax_fields))) => {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]   --> src/bindings/typescript.rs:39:29
[INFO] [stdout]    |
[INFO] [stdout] 39 |         (TypeInner::Service(ref serv), Some(IDLType::ServT(syntax_serv))) => {
[INFO] [stdout]    |                             ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]    |
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]   --> src/bindings/typescript.rs:39:10
[INFO] [stdout]    |
[INFO] [stdout] 39 |         (TypeInner::Service(ref serv), Some(IDLType::ServT(syntax_serv))) => {
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]    |
[INFO] [stdout] 39 -         (TypeInner::Service(ref serv), Some(IDLType::ServT(syntax_serv))) => {
[INFO] [stdout] 39 +         (TypeInner::Service(serv), Some(IDLType::ServT(syntax_serv))) => {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]   --> src/bindings/typescript.rs:42:25
[INFO] [stdout]    |
[INFO] [stdout] 42 |         (TypeInner::Opt(ref t), Some(IDLType::OptT(syntax_inner))) => {
[INFO] [stdout]    |                         ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]    |
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]   --> src/bindings/typescript.rs:42:10
[INFO] [stdout]    |
[INFO] [stdout] 42 |         (TypeInner::Opt(ref t), Some(IDLType::OptT(syntax_inner))) => {
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]    |
[INFO] [stdout] 42 -         (TypeInner::Opt(ref t), Some(IDLType::OptT(syntax_inner))) => {
[INFO] [stdout] 42 +         (TypeInner::Opt(t), Some(IDLType::OptT(syntax_inner))) => {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]   --> src/bindings/typescript.rs:45:25
[INFO] [stdout]    |
[INFO] [stdout] 45 |         (TypeInner::Vec(ref t), Some(IDLType::VecT(syntax_inner))) => {
[INFO] [stdout]    |                         ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]    |
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]   --> src/bindings/typescript.rs:45:10
[INFO] [stdout]    |
[INFO] [stdout] 45 |         (TypeInner::Vec(ref t), Some(IDLType::VecT(syntax_inner))) => {
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]    |
[INFO] [stdout] 45 -         (TypeInner::Vec(ref t), Some(IDLType::VecT(syntax_inner))) => {
[INFO] [stdout] 45 +         (TypeInner::Vec(t), Some(IDLType::VecT(syntax_inner))) => {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]   --> src/bindings/typescript.rs:72:13
[INFO] [stdout]    |
[INFO] [stdout] 72 |         Var(ref id) => {
[INFO] [stdout]    |             ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]    |
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]   --> src/bindings/typescript.rs:72:9
[INFO] [stdout]    |
[INFO] [stdout] 72 |         Var(ref id) => {
[INFO] [stdout]    |         ^^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]    |
[INFO] [stdout] 72 -         Var(ref id) => {
[INFO] [stdout] 72 +         Var(id) => {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]   --> src/bindings/typescript.rs:83:13
[INFO] [stdout]    |
[INFO] [stdout] 83 |         Opt(ref t) => pp_opt(env, t, None, is_ref),
[INFO] [stdout]    |             ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]    |
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]   --> src/bindings/typescript.rs:83:9
[INFO] [stdout]    |
[INFO] [stdout] 83 |         Opt(ref t) => pp_opt(env, t, None, is_ref),
[INFO] [stdout]    |         ^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]    |
[INFO] [stdout] 83 -         Opt(ref t) => pp_opt(env, t, None, is_ref),
[INFO] [stdout] 83 +         Opt(t) => pp_opt(env, t, None, is_ref),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]   --> src/bindings/typescript.rs:84:13
[INFO] [stdout]    |
[INFO] [stdout] 84 |         Vec(ref t) => pp_vec(env, t, None, is_ref),
[INFO] [stdout]    |             ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]    |
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]   --> src/bindings/typescript.rs:84:9
[INFO] [stdout]    |
[INFO] [stdout] 84 |         Vec(ref t) => pp_vec(env, t, None, is_ref),
[INFO] [stdout]    |         ^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]    |
[INFO] [stdout] 84 -         Vec(ref t) => pp_vec(env, t, None, is_ref),
[INFO] [stdout] 84 +         Vec(t) => pp_vec(env, t, None, is_ref),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]   --> src/bindings/typescript.rs:85:16
[INFO] [stdout]    |
[INFO] [stdout] 85 |         Record(ref fs) => pp_record(env, fs, None, is_ref),
[INFO] [stdout]    |                ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]    |
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]   --> src/bindings/typescript.rs:85:9
[INFO] [stdout]    |
[INFO] [stdout] 85 |         Record(ref fs) => pp_record(env, fs, None, is_ref),
[INFO] [stdout]    |         ^^^^^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]    |
[INFO] [stdout] 85 -         Record(ref fs) => pp_record(env, fs, None, is_ref),
[INFO] [stdout] 85 +         Record(fs) => pp_record(env, fs, None, is_ref),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]   --> src/bindings/typescript.rs:86:17
[INFO] [stdout]    |
[INFO] [stdout] 86 |         Variant(ref fs) => pp_variant(env, fs, None, is_ref),
[INFO] [stdout]    |                 ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]    |
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]   --> src/bindings/typescript.rs:86:9
[INFO] [stdout]    |
[INFO] [stdout] 86 |         Variant(ref fs) => pp_variant(env, fs, None, is_ref),
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]    |
[INFO] [stdout] 86 -         Variant(ref fs) => pp_variant(env, fs, None, is_ref),
[INFO] [stdout] 86 +         Variant(fs) => pp_variant(env, fs, None, is_ref),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]    --> src/bindings/typescript.rs:120:13
[INFO] [stdout]     |
[INFO] [stdout] 120 |         Var(ref id) => {
[INFO] [stdout]     |             ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]    --> src/bindings/typescript.rs:120:9
[INFO] [stdout]     |
[INFO] [stdout] 120 |         Var(ref id) => {
[INFO] [stdout]     |         ^^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]     |
[INFO] [stdout] 120 -         Var(ref id) => {
[INFO] [stdout] 120 +         Var(id) => {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]    --> src/bindings/typescript.rs:240:29
[INFO] [stdout]     |
[INFO] [stdout] 240 |             TypeInner::Func(ref func) => pp_function(env, func),
[INFO] [stdout]     |                             ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]    --> src/bindings/typescript.rs:240:13
[INFO] [stdout]     |
[INFO] [stdout] 240 |             TypeInner::Func(ref func) => pp_function(env, func),
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]     |
[INFO] [stdout] 240 -             TypeInner::Func(ref func) => pp_function(env, func),
[INFO] [stdout] 240 +             TypeInner::Func(func) => pp_function(env, func),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]    --> src/bindings/typescript.rs:241:28
[INFO] [stdout]     |
[INFO] [stdout] 241 |             TypeInner::Var(ref id) => ident(id),
[INFO] [stdout]     |                            ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]    --> src/bindings/typescript.rs:241:13
[INFO] [stdout]     |
[INFO] [stdout] 241 |             TypeInner::Var(ref id) => ident(id),
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]     |
[INFO] [stdout] 241 -             TypeInner::Var(ref id) => ident(id),
[INFO] [stdout] 241 +             TypeInner::Var(id) => ident(id),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]    --> src/bindings/typescript.rs:287:29
[INFO] [stdout]     |
[INFO] [stdout] 287 |             TypeInner::Func(ref func) => kwd("export type")
[INFO] [stdout]     |                             ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]    --> src/bindings/typescript.rs:287:13
[INFO] [stdout]     |
[INFO] [stdout] 287 |             TypeInner::Func(ref func) => kwd("export type")
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]     |
[INFO] [stdout] 287 -             TypeInner::Func(ref func) => kwd("export type")
[INFO] [stdout] 287 +             TypeInner::Func(func) => kwd("export type")
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]    --> src/bindings/typescript.rs:292:28
[INFO] [stdout]     |
[INFO] [stdout] 292 |             TypeInner::Var(ref inner_id) => kwd("export type")
[INFO] [stdout]     |                            ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]    --> src/bindings/typescript.rs:292:13
[INFO] [stdout]     |
[INFO] [stdout] 292 |             TypeInner::Var(ref inner_id) => kwd("export type")
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]     |
[INFO] [stdout] 292 -             TypeInner::Var(ref inner_id) => kwd("export type")
[INFO] [stdout] 292 +             TypeInner::Var(inner_id) => kwd("export type")
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]   --> src/syntax/pretty.rs:31:14
[INFO] [stdout]    |
[INFO] [stdout] 31 |         VarT(ref s) => str(s),
[INFO] [stdout]    |              ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]    |
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]   --> src/syntax/pretty.rs:31:9
[INFO] [stdout]    |
[INFO] [stdout] 31 |         VarT(ref s) => str(s),
[INFO] [stdout]    |         ^^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]    |
[INFO] [stdout] 31 -         VarT(ref s) => str(s),
[INFO] [stdout] 31 +         VarT(s) => str(s),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]   --> src/syntax/pretty.rs:33:14
[INFO] [stdout]    |
[INFO] [stdout] 33 |         OptT(ref t) => pp_opt(t),
[INFO] [stdout]    |              ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]    |
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]   --> src/syntax/pretty.rs:33:9
[INFO] [stdout]    |
[INFO] [stdout] 33 |         OptT(ref t) => pp_opt(t),
[INFO] [stdout]    |         ^^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]    |
[INFO] [stdout] 33 -         OptT(ref t) => pp_opt(t),
[INFO] [stdout] 33 +         OptT(t) => pp_opt(t),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]   --> src/syntax/pretty.rs:34:14
[INFO] [stdout]    |
[INFO] [stdout] 34 |         VecT(ref t) => pp_vec(t),
[INFO] [stdout]    |              ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]    |
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]   --> src/syntax/pretty.rs:34:9
[INFO] [stdout]    |
[INFO] [stdout] 34 |         VecT(ref t) => pp_vec(t),
[INFO] [stdout]    |         ^^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]    |
[INFO] [stdout] 34 -         VecT(ref t) => pp_vec(t),
[INFO] [stdout] 34 +         VecT(t) => pp_vec(t),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]   --> src/syntax/pretty.rs:35:17
[INFO] [stdout]    |
[INFO] [stdout] 35 |         RecordT(ref fs) => pp_record(fs, ty.is_tuple()),
[INFO] [stdout]    |                 ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]    |
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]   --> src/syntax/pretty.rs:35:9
[INFO] [stdout]    |
[INFO] [stdout] 35 |         RecordT(ref fs) => pp_record(fs, ty.is_tuple()),
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]    |
[INFO] [stdout] 35 -         RecordT(ref fs) => pp_record(fs, ty.is_tuple()),
[INFO] [stdout] 35 +         RecordT(fs) => pp_record(fs, ty.is_tuple()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]   --> src/syntax/pretty.rs:36:18
[INFO] [stdout]    |
[INFO] [stdout] 36 |         VariantT(ref fs) => pp_variant(fs),
[INFO] [stdout]    |                  ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]    |
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]   --> src/syntax/pretty.rs:36:9
[INFO] [stdout]    |
[INFO] [stdout] 36 |         VariantT(ref fs) => pp_variant(fs),
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]    |
[INFO] [stdout] 36 -         VariantT(ref fs) => pp_variant(fs),
[INFO] [stdout] 36 +         VariantT(fs) => pp_variant(fs),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]   --> src/syntax/pretty.rs:37:15
[INFO] [stdout]    |
[INFO] [stdout] 37 |         FuncT(ref func) => pp_function(func),
[INFO] [stdout]    |               ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]    |
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]   --> src/syntax/pretty.rs:37:9
[INFO] [stdout]    |
[INFO] [stdout] 37 |         FuncT(ref func) => pp_function(func),
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]    |
[INFO] [stdout] 37 -         FuncT(ref func) => pp_function(func),
[INFO] [stdout] 37 +         FuncT(func) => pp_function(func),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]   --> src/syntax/pretty.rs:38:15
[INFO] [stdout]    |
[INFO] [stdout] 38 |         ServT(ref serv) => pp_service(serv),
[INFO] [stdout]    |               ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]    |
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]   --> src/syntax/pretty.rs:38:9
[INFO] [stdout]    |
[INFO] [stdout] 38 |         ServT(ref serv) => pp_service(serv),
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]    |
[INFO] [stdout] 38 -         ServT(ref serv) => pp_service(serv),
[INFO] [stdout] 38 +         ServT(serv) => pp_service(serv),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]   --> src/syntax/pretty.rs:39:16
[INFO] [stdout]    |
[INFO] [stdout] 39 |         ClassT(ref args, ref t) => pp_class(args, t),
[INFO] [stdout]    |                ^^^       ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]    |                |
[INFO] [stdout]    |                explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]    |
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]   --> src/syntax/pretty.rs:39:9
[INFO] [stdout]    |
[INFO] [stdout] 39 |         ClassT(ref args, ref t) => pp_class(args, t),
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout] help: remove the unnecessary binding modifiers
[INFO] [stdout]    |
[INFO] [stdout] 39 -         ClassT(ref args, ref t) => pp_class(args, t),
[INFO] [stdout] 39 +         ClassT(args, t) => pp_class(args, t),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]    --> src/syntax/pretty.rs:129:24
[INFO] [stdout]     |
[INFO] [stdout] 129 |         IDLType::ServT(ref serv) => doc.append(pp_service_methods(serv)),
[INFO] [stdout]     |                        ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]    --> src/syntax/pretty.rs:129:9
[INFO] [stdout]     |
[INFO] [stdout] 129 |         IDLType::ServT(ref serv) => doc.append(pp_service_methods(serv)),
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]     |
[INFO] [stdout] 129 -         IDLType::ServT(ref serv) => doc.append(pp_service_methods(serv)),
[INFO] [stdout] 129 +         IDLType::ServT(serv) => doc.append(pp_service_methods(serv)),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]    --> src/syntax/pretty.rs:130:23
[INFO] [stdout]     |
[INFO] [stdout] 130 |         IDLType::VarT(ref s) => doc.append(s),
[INFO] [stdout]     |                       ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]    --> src/syntax/pretty.rs:130:9
[INFO] [stdout]     |
[INFO] [stdout] 130 |         IDLType::VarT(ref s) => doc.append(s),
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]     |
[INFO] [stdout] 130 -         IDLType::VarT(ref s) => doc.append(s),
[INFO] [stdout] 130 +         IDLType::VarT(s) => doc.append(s),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]   --> src/syntax/mod.rs:30:30
[INFO] [stdout]    |
[INFO] [stdout] 30 |             IDLType::RecordT(ref fs) => {
[INFO] [stdout]    |                              ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]    |
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]   --> src/syntax/mod.rs:30:13
[INFO] [stdout]    |
[INFO] [stdout] 30 |             IDLType::RecordT(ref fs) => {
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]    |
[INFO] [stdout] 30 -             IDLType::RecordT(ref fs) => {
[INFO] [stdout] 30 +             IDLType::RecordT(fs) => {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]   --> src/test.rs:56:25
[INFO] [stdout]    |
[INFO] [stdout] 56 |             Input::Text(ref s) => Ok(super::parse_idl_args(s)?.annotate_types(true, env, types)?),
[INFO] [stdout]    |                         ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]    |
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]   --> src/test.rs:56:13
[INFO] [stdout]    |
[INFO] [stdout] 56 |             Input::Text(ref s) => Ok(super::parse_idl_args(s)?.annotate_types(true, env, types)?),
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]    |
[INFO] [stdout] 56 -             Input::Text(ref s) => Ok(super::parse_idl_args(s)?.annotate_types(true, env, types)?),
[INFO] [stdout] 56 +             Input::Text(s) => Ok(super::parse_idl_args(s)?.annotate_types(true, env, types)?),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]   --> src/test.rs:57:25
[INFO] [stdout]    |
[INFO] [stdout] 57 |             Input::Blob(ref bytes) => {
[INFO] [stdout]    |                         ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]    |
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]   --> src/test.rs:57:13
[INFO] [stdout]    |
[INFO] [stdout] 57 |             Input::Blob(ref bytes) => {
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]    |
[INFO] [stdout] 57 -             Input::Blob(ref bytes) => {
[INFO] [stdout] 57 +             Input::Blob(bytes) => {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]   --> src/test.rs:68:25
[INFO] [stdout]    |
[INFO] [stdout] 68 |             Input::Blob(ref blob) => {
[INFO] [stdout]    |                         ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]    |
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]   --> src/test.rs:68:13
[INFO] [stdout]    |
[INFO] [stdout] 68 |             Input::Blob(ref blob) => {
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]    |
[INFO] [stdout] 68 -             Input::Blob(ref blob) => {
[INFO] [stdout] 68 +             Input::Blob(blob) => {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]   --> src/syntax/pretty.rs:31:14
[INFO] [stdout]    |
[INFO] [stdout] 31 |         VarT(ref s) => str(s),
[INFO] [stdout]    |              ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]    |
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]   --> src/syntax/pretty.rs:31:9
[INFO] [stdout]    |
[INFO] [stdout] 31 |         VarT(ref s) => str(s),
[INFO] [stdout]    |         ^^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]    |
[INFO] [stdout] 31 -         VarT(ref s) => str(s),
[INFO] [stdout] 31 +         VarT(s) => str(s),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]   --> src/syntax/pretty.rs:33:14
[INFO] [stdout]    |
[INFO] [stdout] 33 |         OptT(ref t) => pp_opt(t),
[INFO] [stdout]    |              ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]    |
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]   --> src/syntax/pretty.rs:33:9
[INFO] [stdout]    |
[INFO] [stdout] 33 |         OptT(ref t) => pp_opt(t),
[INFO] [stdout]    |         ^^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]    |
[INFO] [stdout] 33 -         OptT(ref t) => pp_opt(t),
[INFO] [stdout] 33 +         OptT(t) => pp_opt(t),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]   --> src/syntax/pretty.rs:34:14
[INFO] [stdout]    |
[INFO] [stdout] 34 |         VecT(ref t) => pp_vec(t),
[INFO] [stdout]    |              ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]    |
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]   --> src/syntax/pretty.rs:34:9
[INFO] [stdout]    |
[INFO] [stdout] 34 |         VecT(ref t) => pp_vec(t),
[INFO] [stdout]    |         ^^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]    |
[INFO] [stdout] 34 -         VecT(ref t) => pp_vec(t),
[INFO] [stdout] 34 +         VecT(t) => pp_vec(t),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]   --> src/syntax/pretty.rs:35:17
[INFO] [stdout]    |
[INFO] [stdout] 35 |         RecordT(ref fs) => pp_record(fs, ty.is_tuple()),
[INFO] [stdout]    |                 ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]    |
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]   --> src/syntax/pretty.rs:35:9
[INFO] [stdout]    |
[INFO] [stdout] 35 |         RecordT(ref fs) => pp_record(fs, ty.is_tuple()),
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]    |
[INFO] [stdout] 35 -         RecordT(ref fs) => pp_record(fs, ty.is_tuple()),
[INFO] [stdout] 35 +         RecordT(fs) => pp_record(fs, ty.is_tuple()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]   --> src/syntax/pretty.rs:36:18
[INFO] [stdout]    |
[INFO] [stdout] 36 |         VariantT(ref fs) => pp_variant(fs),
[INFO] [stdout]    |                  ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]    |
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]   --> src/syntax/pretty.rs:36:9
[INFO] [stdout]    |
[INFO] [stdout] 36 |         VariantT(ref fs) => pp_variant(fs),
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]    |
[INFO] [stdout] 36 -         VariantT(ref fs) => pp_variant(fs),
[INFO] [stdout] 36 +         VariantT(fs) => pp_variant(fs),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]   --> src/syntax/pretty.rs:37:15
[INFO] [stdout]    |
[INFO] [stdout] 37 |         FuncT(ref func) => pp_function(func),
[INFO] [stdout]    |               ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]    |
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]   --> src/syntax/pretty.rs:37:9
[INFO] [stdout]    |
[INFO] [stdout] 37 |         FuncT(ref func) => pp_function(func),
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]    |
[INFO] [stdout] 37 -         FuncT(ref func) => pp_function(func),
[INFO] [stdout] 37 +         FuncT(func) => pp_function(func),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]   --> src/syntax/pretty.rs:38:15
[INFO] [stdout]    |
[INFO] [stdout] 38 |         ServT(ref serv) => pp_service(serv),
[INFO] [stdout]    |               ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]    |
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]   --> src/syntax/pretty.rs:38:9
[INFO] [stdout]    |
[INFO] [stdout] 38 |         ServT(ref serv) => pp_service(serv),
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]    |
[INFO] [stdout] 38 -         ServT(ref serv) => pp_service(serv),
[INFO] [stdout] 38 +         ServT(serv) => pp_service(serv),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]   --> src/syntax/pretty.rs:39:16
[INFO] [stdout]    |
[INFO] [stdout] 39 |         ClassT(ref args, ref t) => pp_class(args, t),
[INFO] [stdout]    |                ^^^       ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]    |                |
[INFO] [stdout]    |                explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]    |
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]   --> src/syntax/pretty.rs:39:9
[INFO] [stdout]    |
[INFO] [stdout] 39 |         ClassT(ref args, ref t) => pp_class(args, t),
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout] help: remove the unnecessary binding modifiers
[INFO] [stdout]    |
[INFO] [stdout] 39 -         ClassT(ref args, ref t) => pp_class(args, t),
[INFO] [stdout] 39 +         ClassT(args, t) => pp_class(args, t),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]    --> src/syntax/pretty.rs:129:24
[INFO] [stdout]     |
[INFO] [stdout] 129 |         IDLType::ServT(ref serv) => doc.append(pp_service_methods(serv)),
[INFO] [stdout]     |                        ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]    --> src/syntax/pretty.rs:129:9
[INFO] [stdout]     |
[INFO] [stdout] 129 |         IDLType::ServT(ref serv) => doc.append(pp_service_methods(serv)),
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]     |
[INFO] [stdout] 129 -         IDLType::ServT(ref serv) => doc.append(pp_service_methods(serv)),
[INFO] [stdout] 129 +         IDLType::ServT(serv) => doc.append(pp_service_methods(serv)),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]    --> src/syntax/pretty.rs:130:23
[INFO] [stdout]     |
[INFO] [stdout] 130 |         IDLType::VarT(ref s) => doc.append(s),
[INFO] [stdout]     |                       ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]    --> src/syntax/pretty.rs:130:9
[INFO] [stdout]     |
[INFO] [stdout] 130 |         IDLType::VarT(ref s) => doc.append(s),
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]     |
[INFO] [stdout] 130 -         IDLType::VarT(ref s) => doc.append(s),
[INFO] [stdout] 130 +         IDLType::VarT(s) => doc.append(s),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]   --> src/syntax/mod.rs:30:30
[INFO] [stdout]    |
[INFO] [stdout] 30 |             IDLType::RecordT(ref fs) => {
[INFO] [stdout]    |                              ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]    |
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]   --> src/syntax/mod.rs:30:13
[INFO] [stdout]    |
[INFO] [stdout] 30 |             IDLType::RecordT(ref fs) => {
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]    |
[INFO] [stdout] 30 -             IDLType::RecordT(ref fs) => {
[INFO] [stdout] 30 +             IDLType::RecordT(fs) => {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `candid_parser` (lib) due to 64 previous errors
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]   --> src/test.rs:56:25
[INFO] [stdout]    |
[INFO] [stdout] 56 |             Input::Text(ref s) => Ok(super::parse_idl_args(s)?.annotate_types(true, env, types)?),
[INFO] [stdout]    |                         ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]    |
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]   --> src/test.rs:56:13
[INFO] [stdout]    |
[INFO] [stdout] 56 |             Input::Text(ref s) => Ok(super::parse_idl_args(s)?.annotate_types(true, env, types)?),
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]    |
[INFO] [stdout] 56 -             Input::Text(ref s) => Ok(super::parse_idl_args(s)?.annotate_types(true, env, types)?),
[INFO] [stdout] 56 +             Input::Text(s) => Ok(super::parse_idl_args(s)?.annotate_types(true, env, types)?),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]   --> src/test.rs:57:25
[INFO] [stdout]    |
[INFO] [stdout] 57 |             Input::Blob(ref bytes) => {
[INFO] [stdout]    |                         ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]    |
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]   --> src/test.rs:57:13
[INFO] [stdout]    |
[INFO] [stdout] 57 |             Input::Blob(ref bytes) => {
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]    |
[INFO] [stdout] 57 -             Input::Blob(ref bytes) => {
[INFO] [stdout] 57 +             Input::Blob(bytes) => {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]   --> src/test.rs:68:25
[INFO] [stdout]    |
[INFO] [stdout] 68 |             Input::Blob(ref blob) => {
[INFO] [stdout]    |                         ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]    |
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]   --> src/test.rs:68:13
[INFO] [stdout]    |
[INFO] [stdout] 68 |             Input::Blob(ref blob) => {
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]    |
[INFO] [stdout] 68 -             Input::Blob(ref blob) => {
[INFO] [stdout] 68 +             Input::Blob(blob) => {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `candid_parser` (lib test) due to 64 previous errors
[INFO] running `Command { std: "docker" "inspect" "a9c92f60744618a82fd812157c07c0b4de991c544e91b93e429523dd74bb565a", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "a9c92f60744618a82fd812157c07c0b4de991c544e91b93e429523dd74bb565a", kill_on_drop: false }`
[INFO] [stdout] a9c92f60744618a82fd812157c07c0b4de991c544e91b93e429523dd74bb565a
